tomcat 结合 myEclipse 自动加载问题
程序员文章站
2022-06-14 16:09:04
...
(完成该项配置后,在myEclipse中,直接启动tomcat,就能访问。
不用将项目部署到Tomcat的webapps目录下。)
在tomcat配置文件里( apache-tomcat-5.5.27/conf/server.xml)
【注意:格式不能变】
-----------------------------------------------------
path:是虚拟路径,指的是:当前应用的名称(项目名称)
docBase:当前项目(在myEclipse中)的路径
关于:crossContext="true"
设置为true表示在当前虚拟主机可以用ServletContext.getContext()获取servlet的上下文对象。设置为false(或者缺省时)用ServletContext.getContext()总是返回null。
这是官方的解释:
Set to true if you want calls within this application to ServletContext.getContext() to successfully return a request dispatcher for other web applications running on this virtual host. Set to false (the default) in security conscious environments, to make getContext() always return null.
更多参考阅读:
-------------------------------------------------------
-------------------------------------------------------
Tomcat下的appBase和docBase
发表于456 天前 ⁄ 服务器、tomcat ⁄ 评论数 2
<host appBase=”d:/aaa”>
<Context docBase=”d:/aaa/bbb”> </Context>
</host>
我们先看appBase,这个目录表示:
1 这个目录下面的子目录将自动被部署为应用。
2 这个目录下面的.war文件将被自动解压缩并部署为应用
而docBase只是指向了你某个应用的目录,这个可以和appBase没有任何关系。
总结:
如果你想自己指定路径,那么应该在docBase里面
如果你想简单,那么直接把他们复制到appBase下面就行了
如果你把他们弄重复了,也就是2个指向了一个目录,看上去也能运行,但你的应用下面的每个子目录,其实是被部署为单独的应用的。
比如你的应用为
myApp, 放在了
d:\project\myApp
里面有2个子目录
d:\project\myApp\images
d:\project\myApp\js
你可以通过:
1 设置 appBase 指向 d:\project 来让系统自动部署
2 你可以手工指定docBase到 d:\project\myApp
3 如果你指定了 appBase到 d:\project\myApp 那么
d:\project\myApp\images这个将不再是普通的子目录,而是一个单独的虚拟目录,或者叫应用了。因为其被自动部署
d:\project\myApp\js 也一样的后果
<host>里的appBase,然后在<context>里的docBase,这 两个属性是有联系的,先说一下比较官方的解释:“<Host>元素中的 appBase属性指定了一个路径,该路径将作为嵌套在它里面的<Context> 元素的docBase属性中设置的相对路径的基准路径。”
==============================================================
linux下tomcat服务的相关命令
一:Linux下tomcat服务的启动、关闭与错误跟踪,使用PuTTy远程连接到服务器以后,通常通过以下几种方式启动关闭tomcat服务:
切换到tomcat主目录下的bin目录(cd usr/local/tomcat/bin)
1,启动tomcat服务
方式一:直接启动 ./startup.sh
方式二:作为服务启动 nohup ./startup.sh &
方式三:控制台动态输出方式启动 ./catalina.sh run 动态地显示tomcat后台的控制台输出信息,Ctrl+C后退出并关闭服务
解释:
通过方式一、方式三启动的tomcat有个弊端,当客户端连接断开的时候,tomcat服务也会立即停止;
通过方式二可以作为linux服务一直运行。
通过方式一、方式二方式启动的tomcat,其日志会写到相应的日志文件中,而不能动态地查看tomcat控制台的输出信息与错误情况;
通过方式三可以以控制台模式启动tomcat服务,直接看到程序运行时后台的控制台输出信息,不必每次都要很麻烦的打开catalina.out日志文件进行查看,这样便于跟踪查阅后台输出信息。tomcat控制台信息包括log4j和System.out.println()等输出的信息。
2,关闭tomcat服务
./shutdown.sh
==
问题:
tomcat startup.sh 为什么不输出控制台日志?
查看日志:
看日志在tomcat/logs/catalina.out
命令 tail -f catalina.out
tail命令:
从指定点开始将文件写到标准输出。使用tail命令的-f选项可以方便的查阅正在改变的日志文件,tail -f filename会把filename里最尾部的内容显示在屏幕上,并且不但刷新,使你看到最新的文件内容。
==
Linux下两种自动启动Tomcat的方法:
编辑/etc/rc.d/rc.local 增加内容(假设JDK目录是/usr/jdk,Tomcat目录是/apache/tomcat)
这样在系统重启后就可以自动启动Tomcat
-
引用:
linux下tomcat服务的相关命令
http://1234jie.ok.blog.163.com/blog/static/7742699320118184510328/
tail命令:
http://www.2cto.com/os/201111/110143.html
Linux下两种自动启动Tomcat的方法
http://linux.ccidnet.com/art/302/20041217/191565_1.html
-
不用将项目部署到Tomcat的webapps目录下。)
在tomcat配置文件里( apache-tomcat-5.5.27/conf/server.xml)
【注意:格式不能变】
<Context path="/myWebapp" docBase="D:\workspace\myWebApp\WebRoot" reloadable="true" debug="0" crossContext="true"/>
-----------------------------------------------------
path:是虚拟路径,指的是:当前应用的名称(项目名称)
docBase:当前项目(在myEclipse中)的路径
关于:crossContext="true"
设置为true表示在当前虚拟主机可以用ServletContext.getContext()获取servlet的上下文对象。设置为false(或者缺省时)用ServletContext.getContext()总是返回null。
这是官方的解释:
Set to true if you want calls within this application to ServletContext.getContext() to successfully return a request dispatcher for other web applications running on this virtual host. Set to false (the default) in security conscious environments, to make getContext() always return null.
更多参考阅读:
-------------------------------------------------------
-------------------------------------------------------
Tomcat下的appBase和docBase
发表于456 天前 ⁄ 服务器、tomcat ⁄ 评论数 2
<host appBase=”d:/aaa”>
<Context docBase=”d:/aaa/bbb”> </Context>
</host>
我们先看appBase,这个目录表示:
1 这个目录下面的子目录将自动被部署为应用。
2 这个目录下面的.war文件将被自动解压缩并部署为应用
而docBase只是指向了你某个应用的目录,这个可以和appBase没有任何关系。
总结:
如果你想自己指定路径,那么应该在docBase里面
如果你想简单,那么直接把他们复制到appBase下面就行了
如果你把他们弄重复了,也就是2个指向了一个目录,看上去也能运行,但你的应用下面的每个子目录,其实是被部署为单独的应用的。
比如你的应用为
myApp, 放在了
d:\project\myApp
里面有2个子目录
d:\project\myApp\images
d:\project\myApp\js
你可以通过:
1 设置 appBase 指向 d:\project 来让系统自动部署
2 你可以手工指定docBase到 d:\project\myApp
3 如果你指定了 appBase到 d:\project\myApp 那么
d:\project\myApp\images这个将不再是普通的子目录,而是一个单独的虚拟目录,或者叫应用了。因为其被自动部署
d:\project\myApp\js 也一样的后果
<host>里的appBase,然后在<context>里的docBase,这 两个属性是有联系的,先说一下比较官方的解释:“<Host>元素中的 appBase属性指定了一个路径,该路径将作为嵌套在它里面的<Context> 元素的docBase属性中设置的相对路径的基准路径。”
==============================================================
linux下tomcat服务的相关命令
一:Linux下tomcat服务的启动、关闭与错误跟踪,使用PuTTy远程连接到服务器以后,通常通过以下几种方式启动关闭tomcat服务:
切换到tomcat主目录下的bin目录(cd usr/local/tomcat/bin)
1,启动tomcat服务
方式一:直接启动 ./startup.sh
方式二:作为服务启动 nohup ./startup.sh &
方式三:控制台动态输出方式启动 ./catalina.sh run 动态地显示tomcat后台的控制台输出信息,Ctrl+C后退出并关闭服务
解释:
通过方式一、方式三启动的tomcat有个弊端,当客户端连接断开的时候,tomcat服务也会立即停止;
通过方式二可以作为linux服务一直运行。
通过方式一、方式二方式启动的tomcat,其日志会写到相应的日志文件中,而不能动态地查看tomcat控制台的输出信息与错误情况;
通过方式三可以以控制台模式启动tomcat服务,直接看到程序运行时后台的控制台输出信息,不必每次都要很麻烦的打开catalina.out日志文件进行查看,这样便于跟踪查阅后台输出信息。tomcat控制台信息包括log4j和System.out.println()等输出的信息。
2,关闭tomcat服务
./shutdown.sh
==
问题:
tomcat startup.sh 为什么不输出控制台日志?
查看日志:
看日志在tomcat/logs/catalina.out
命令 tail -f catalina.out
tail命令:
从指定点开始将文件写到标准输出。使用tail命令的-f选项可以方便的查阅正在改变的日志文件,tail -f filename会把filename里最尾部的内容显示在屏幕上,并且不但刷新,使你看到最新的文件内容。
==
Linux下两种自动启动Tomcat的方法:
编辑/etc/rc.d/rc.local 增加内容(假设JDK目录是/usr/jdk,Tomcat目录是/apache/tomcat)
export JDK_HOME=/usr/jdk export JAVA_HOME=/usr/jdk /apache/tomcat/bin/startup.sh
这样在系统重启后就可以自动启动Tomcat
-
引用:
linux下tomcat服务的相关命令
http://1234jie.ok.blog.163.com/blog/static/7742699320118184510328/
tail命令:
http://www.2cto.com/os/201111/110143.html
Linux下两种自动启动Tomcat的方法
http://linux.ccidnet.com/art/302/20041217/191565_1.html
-
推荐阅读
-
搭建MyEclipse和Tomcat遇到的问题
-
jsp-解决文件上传后重启Tomcat时文件自动删除问题
-
解决Nginx与Tomcat整合下无法加载JSP中静态资源的问题
-
解决Tomcat重新部署后图片等资源被自动删除的问题
-
解决tomcat部署下的web项目网页更改不能自动刷新的问题
-
解决Tomcat在修改代码后不会自动reload的问题
-
Jenkins+tomcat自动发布的热部署/重启及遇到的问题解决办法(推荐)
-
Tomcat中修改server.xml和content.xml后自动还原问题解决
-
iOS列表上拉(平滑加载数据)自动加载数据的问题解决
-
tomcat加载jar异常问题的分析与解决