2017年9月6日 下午3:49
前期准备:Tomcat的在eclipse中配置
了解
web.xml 是应用程序入口文件
javaWeb的三大组件之一 filter listener servlet
servlet是一个类,需要实现servlet接口。并且需要在web.xml中注册
Webcontent文件夹下有编译好的项目文件,直接给服务器执行用
tomcat只要webcontent,其实不用你的src文件
servlet的生命周期
- 如果在web.xml中某个servlet中配置属性,那么当把项目放到tomcat的时候这个servlet就会执行init方法,开始servlet生命周期
- 要是没有配置,只有在启动对应的servlet时,才会触发对应的init()方法
- service()运行方法 每次访问都会执行到
- destory()销毁方法,只有在tomcat正常关闭的时候才会触发 整个生命周期只执行一次
servlet项目配置步骤

新建web项目的时候选上此项,生成web.xml文件

找不到Servlet接口,解决方案用eclipse导入web项目时提示的找不到servlet包的错误

给当前servletDemo类文件配置路径
大小写区分
两个必须配置的
看附录一

放在服务器上运行

输入/first就访问到了对应的servlet类

在web.xml中,配置和属性
使用情景:用于提高一个应用的相应速度,这时需要让服务器开始运行的时候就让这个应用启动
作用看附录二中的代码注释
附录一:
web.xml文件内容
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| <?xml version="1.0" encoding="UTF-8"?> <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_3_0.xsd" id="WebApp_ID" version="3.0"> <display-name>Servlet906</display-name> <welcome-file-list> <welcome-file>index.html</welcome-file> <welcome-file>index.htm</welcome-file> <welcome-file>index.jsp</welcome-file> <welcome-file>default.html</welcome-file> <welcome-file>default.htm</welcome-file> <welcome-file>default.jsp</welcome-file> </welcome-file-list> <servlet> <servlet-name>servletDemo</servlet-name> <servlet-class>cn.chenzhiheng.servlet.servletDemo</servlet-class> </servlet> <servlet-mapping> <servlet-name>servletDemo</servlet-name> <url-pattern>/first</url-pattern> </servlet-mapping> </web-app>
|
附录二:
servletDemo.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64
| package cn.chenzhiheng.servlet;
import java.io.IOException; import java.util.Enumeration;
import javax.servlet.Servlet; import javax.servlet.ServletConfig; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse;
public class servletDemo implements Servlet{
private ServletConfig sc ;
@Override public void init(ServletConfig servletConfig) throws ServletException { System.out.println(servletConfig.getServletName()); Enumeration<String> e = servletConfig.getInitParameterNames(); while(e.hasMoreElements()){ String key = e.nextElement(); String value = servletConfig.getInitParameter(key); System.out.println(key+" : "+value ); } this.sc = servletConfig; System.out.println("init ..."); }
@Override public void service(ServletRequest arg0, ServletResponse arg1) throws ServletException, IOException { System.out.println("service ..."); }
@Override public void destroy() { System.out.println("destroy ..."); }
@Override public ServletConfig getServletConfig() { System.out.println("getServletConfig ..."); return sc; }
@Override public String getServletInfo() { System.out.println("我是一个快乐的小Servlet! ..."); return null; }
}
|
web.xml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
| <?xml version="1.0" encoding="UTF-8"?> <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_3_0.xsd" id="WebApp_ID" version="3.0"> <display-name>Servlet906</display-name> <welcome-file-list> <welcome-file>index.html</welcome-file> <welcome-file>index.htm</welcome-file> <welcome-file>index.jsp</welcome-file> <welcome-file>default.html</welcome-file> <welcome-file>default.htm</welcome-file> <welcome-file>default.jsp</welcome-file> </welcome-file-list> <servlet> <servlet-name>servletDemo</servlet-name> <servlet-class>cn.chenzhiheng.servlet.servletDemo</servlet-class> <init-param> <param-name>name</param-name> <param-value>mike</param-value> </init-param> <init-param> <param-name>age</param-name> <param-value>20</param-value> </init-param> <load-on-startup>2</load-on-startup> </servlet> <servlet-mapping> <servlet-name>servletDemo</servlet-name> <url-pattern>/first</url-pattern> </servlet-mapping> </web-app>
|
注:这里的配置两个标签
1.
2.
3. 必须在之前