1.开发步骤简介
Servlet 本身不能独立运行,需要在一个web应用中运行的
而一个web应用是部署在tomcat中的
所以开发一个servlet需要如下几个步骤
1.创建web应用项目
2.编写servlet代码
3.部署到tomcat中
现在开始具体的操作步骤
2.创建一个java项目j2ee
File->New->Other->Java->Java Project
输入名称j2ee
这样就创建一个单纯的基于java的项目
3.导入必须的servlet-api.jar包
导入的具体步骤:
右键点击项目 -> properties -> Java Build Path ->Libraries -> Add External JARs
4.编写HelloServlet
创建 HelloServlet(在Eclipse中创建一个普通类的方式:菜单->File->New->Class)
注意:eclipse创建的时候会自带一个包名j2ee,不要使用这个包名,让包名置空
HelloServlet继承了 HttpServlet
并且提供了一个doGet方法
代码如下:
import java.io.IOException;
import java.util.Date;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class HelloServlet extends HttpServlet{
public void doGet(HttpServletRequest request, HttpServletResponse response){
try {
response.getWriter().println("<h1>Hello Servlet!</h1>");
response.getWriter().println(new Date().toLocaleString());
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
在doGet中,输出html
分别是 标题元素h1 和 当前时间的字符串
5.配置web.xml
首先在j2ee下创建目录web
接着再创建目录web/WEB-INF
然后在WEB-INF目录中创建 web.xml
web.xml提供路径与servlet的映射关系
把/hello这个路径,映射到 HelloServlet这个类上
<servlet>
标签下的 <servlet-name>
与 <servlet-mapping>
标签下的 <servlet-name>
必须一样
代码如下:
<?xml version="1.0" encoding="UTF-8"?>
<web-app>
<servlet>
<servlet-name>HelloServlet</servlet-name>
<servlet-class>HelloServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>HelloServlet</servlet-name>
<url-pattern>/hello</url-pattern>
</servlet-mapping>
</web-app>
此时的文件结构:
6.指定项目输出到classes目录
首先在WEB-INF下创建classes目录
把项目的class文件输出由原来的 j2ee/bin 设置到 j2ee/web/WEB-INF/classes下
步骤:
项目右键->properties->Java Build Path->Source->右下角的 Brower-> 指定位置是 j2ee/web/WEB-INF/classes。
这样做的原因:在ecilpse中默认输出的class是在bin目录下,但是tomcat启动之后,在默认情况下,不会去bin目录找这些class文件,而是到WEB-INF/classes这个目录下去寻找。 所以通过这一步的配置,使得eclipse的class文件输出到WEB-INF/classes目录下,那么这样就和tomcat兼容了。
7.修改tomcat的server.xml
因为我的j2ee文件是在D:\tomcat\j2ee\web中的,所以我要在
之后插入一句:<Context path="/" docBase="D:\\tomcat\\j2ee\\web" debug="0" reloadable="false" />
***注意:***这里的路径必须要双斜杠
8.重启tomcat,访问http://127.0.0.1/hello网站产看效果
关闭tomcat然后点击startup,最后访问该网址
总结:
这种方式比较繁琐,但是可以让我们更清楚的了解servlet,当然也可以在eclipse中直接创建web项目。