(1) web.xml 不是web项目所必须的
web.xml 用来配置欢迎页面,servlet, filter
(2) 配置欢迎页面
如果没有配置,网站首先会引导index.html,没有就是index.jsp,否则报错
可以自行配置
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
(3) 配置servlet映射,输入*.do即可到达指定的servlet
(1)、为Servlet命名:
<servlet>
<servlet-name>servlet1</servlet-name>
<servlet-class>net.test.TestServlet</servlet-class>
</servlet>
(2)、为Servlet定制URL、
<servlet-mapping>
<servlet-name>servlet1</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
注意:命名必须在定制URL之前
(4) 配置servlet自动启动与否
<load-on-startup>0</load-on-startup>
(5) 给servlet定制参数
定制初始化参数:可以定制servlet、JSP、Context的初始化参数,然后可以再servlet、JSP、Context中获取这些参数值。下面哪servlet来举例:
<servlet>
<servlet-name>servlet1</servlet-name>
<servlet-class>net.test.TestServlet</servlet-class>
<init-param>
<param-name>userName</param-name>
<param-value>Tommy</param-value>
</init-param>
<init-param>
<param-name>E-mail</param-name>
<param-value>Tommy@163.com</param-value>
</init-param>
</servlet>
每个参数配置一个<init-param>
经过上面的配置,在servlet中能够调用getServletConfig().getInitParameter("param1")获得参数名对应的值。
一般配置启动的都是建立一个servlet而不是一个action,中间覆盖GeneralServlet.init( ServletConfig config)方法
public class initServlet extends HttpServlet {
@Override
public void init(ServletConfig config) throws ServletException {
System.out.println("serverlet被初始化自动调用----------------");
System.out.println(config.getInitParameter("poolsize"));
super.init(config);
}
}
(5) 设置过滤器Filter
<filter>
<filter-name>XXXCharaSetFilter</filter-name>
<filter-class>net.test.CharSetFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>XXXCharaSetFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
过滤器实现:
1. 继承HttpServlet
2. 实现接口 javax.servlet.Filter;
主要处理方法写在doFilter,写的时候有几个要注意的地方:
1. doFilter的参数是ServletRequest, ServletResponse ,这个不要直接使用要转换
HttpServletRequest req = (HttpServletRequest) request;
HttpServletResponse rsp = (HttpServletResponse) response;
2. 处理完毕后的引导
如果继续请求,不拦截,就必须调用:filterChain.doFilter(request, response);
也可以拦截到指定的页面:
rsp.sendRedirect(basePath + loginJsp+"?url="+url);
Filter的具体使用见我的另外一篇文章:servelet Filter 使用
(5) 设置会话过期时间
<session-config>
<session-timeout>60</session-timeout>
</session-config>
详细出处参考:http://www.jb51.net/article/19141.htm