使用eclipse为Servlet在Tomcat中的部署方法
一:下载安装jdk,tomcat,eclipse:
使用eclipse建立动态web项目lcj,更改编译文件目录,方法如下:
右键点击→工程名称→属性(Properties)或(Building Path)→构建路径(Java Building Path)→源代码选项卡(Source)→自定义输出文件夹最下面(Default output folder)→选择WebContent/WEB-INF/classed→保存,在工程看不刷新一下。
二:文件件解释:
WEB-INF/src:用于存放我们的java文件,servlet也是放在这里
work:用于存放编译jsp过程中生成的文件
WEB_INF:web.xml放置在这里,另外这里会有java构建后生成的class文件
而我们要用到的jsp文件则从HelloWorld(lcj)根目录开始放置
三:将WebContent文件夹所有内容复制到Tomcat下的webapps文件夹内,修改文件夹名为lcj。
1 package com.hngskj; 2 3 import java.io.IOException; 4 import javax.servlet.ServletException; 5 import javax.servlet.http.HttpServlet; 6 import javax.servlet.http.HttpServletRequest; 7 import javax.servlet.http.HttpServletResponse; 8 9 public class Myweb extends HttpServlet { 10 11 private static final long serialVersionUID = 1L; 12 13 public Myweb() { 14 super(); 15 } 16 17 protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 18 response.getWriter().append("Served at: ").append(request.getContextPath()); 19 } 20 21 protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 22 doGet(request, response); 23 } 24 25 }
四:在WEB-INF文件夹下配置web.xml
1 <?xml version="1.0" encoding="UTF-8"?> 2 <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5"> 3 <display-name>lcj</display-name> 4 <!--表示首页--> 5 <welcome-file-list> 6 <welcome-file>index.html</welcome-file> 7 <welcome-file>index.htm</welcome-file> 8 <welcome-file>index.jsp</welcome-file> 9 <welcome-file>default.html</welcome-file> 10 <welcome-file>default.htm</welcome-file> 11 <welcome-file>default.jsp</welcome-file> 12 </welcome-file-list> 13 <!--部署servlet到web.xml文件 可以从examples下复制--> 14 <servlet> 15 <!----> 16 <description></description> 17 <!----> 18 <display-name>Myweb</display-name> 19 <!--给该servlet取名,可以自由定义--> 20 <servlet-name>Myweb</servlet-name> 21 <!--指明该servlet类放到哪个包下,包.包.类名--> 22 <servlet-class>com.hngskj.Myweb</servlet-class> 23 </servlet> 24 <!--代表servlet的映射--> 25 <servlet-mapping> 26 <!--与上面servlet名字要一致--> 27 <servlet-name>Myweb</servlet-name> 28 <!--访问该servlet的资源名--> 29 <url-pattern>/Myweb</url-pattern> 30 </servlet-mapping> 31 32 </web-app>
访问:http://localhost:8080/lcj/Myweb 会出现:Served at: /lcj
四:在lcj工程根目录下创建一个名为index.jsp的文件,代码如下:
1 <%@ page language="java" contentType="text/html; charset=ISO-8859-1" 2 pageEncoding="ISO-8859-1"%> 3 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 4 <html> 5 <head> 6 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> 7 <title>NumberGuess</title> 8 </head> 9 <body> 10 Hello jsp! 11 </body> 12 </html>
访问:http://localhost:8080/lcj 会出现:Hello jsp!
五:配置虚拟目录:在tomcat的conf\server.xml,可以不用放到Tomcat下的webapps文件夹内。
可以在conf目录下的server.xml文件里的<host></host>里面加入
<Context path="虚拟目录名称" docBase="磁盘目录" />
例如:<Context path="test" docBase="F:\webroot\"/>
<Context path="/lcj" reloadable="true" docBase="D:\workspace\lcj" workDir="D:\workspace\lcj\work" />
在tomcat6版本中:
1、【官方文档】本人不推荐。
在tomcat\conf下server.xml中找到
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
</Host>
在其中添加:
<Context path="" docBase="换成你的路径" reloadable="true"></Context>
这的docBase要改成你的项目目录。
2、 不修改server.xml【推荐使用此方法】
在tomcat文件夹的conf"catalina"localhost(对于Tomcat6版本及其以上,需要自己创建catalina和localhost这两个文件夹)下新建一个xml文件。内容为
<?xml version="1.0" encoding="UTF-8"?>
<Context
docBase="换成你的路径"
reloadable="true">
</Context>
文件名改成你自己的譬如http://localhost:8080/bbs ,文件名就为bbs.xml
其他配置:
打开 Tomcat6.0"conf"web.xml 文件,找到:
<init-param>
<param-name>listings</param-name>
<param-value>false</param-value>
</init-param>
把false设成true保存,重启Tomcat,让tomcat6支持文件列表显示
1. 在.%TOMCAT_HOME%\conf\Catalina\localhost建立一个xml文件 里面写上
<Context path="/web" docBase="D:/myweb" crossContext="false" debug="0"
reloadable="true"></Context> 推荐方式
2.打开%TOMCAT_HOME%\conf\server.xml文件
在 <host> </host>之间加入如下代码: <Context path="/web" docBase="E:\myweb"
debug="0" reloadable="true"/>
3. 把一个打好的war包放到 %TOMCAT_HOME%\webapps ,tomcat会自动发表为一个web应用的。
crossContext 的含义我没有用过,在网上找来下也没有找到,建议你看看tomcat的文档应该有
的。
debug 应该是调试一个web项目的java代码时,将tomcat服务器和开发工具集成,或需要工具
的一些插件支持(比如Eclipse下的myclipse等),这些方式都是在本地进行,即你的开发工具和
tomcat运行在同一台服务器上,如果你的开发工具和服务器不再一台机器上那就需要实现远程
调试功能了。
其实在一般java项目开发中都会引入log4j包,用配置的方式在开发过程中输出调试信息。如果
不是有特别要求,不见建议去花时间研究它。
到时reloadable属性的设置有些用处,
当reloadable=true时,相关文件改变,Tomcat先停止web app并释放内存,然后重新加载web app
。这样以来可以省去手工部署web app工程的时间。和开发工具一起使用可以稍微提高点工作效
率。
感谢您的阅读,您的支持是我写博客动力。