您的位置:首页 > 编程语言 > Java开发

javaweb学习总结二十二(servlet开发中常见的问题汇总)

2016-10-18 23:09 761 查看
一:web应用的映射问题

通常我们从别人那里拷贝来的代码,自己会修改应用的名称,但是web映射的访问路径并没有修改,还是原来的映射。

解决方法:

工程右键——properties——myeclipse——web,修改webroot即可



二:web.xml配置文件

web.xml中的配置文件信息如下:



三:同一个servlet类可以映射到多个url地址上





1: *.do 所有以.do为后缀的请求,都匹配到对应的servlet类上去。

2:/* 匹配所有的请求

注意:请求地址匹配url-pattern时,有一定的优先级,谁想就匹配谁,从前往后匹配。

四:servelt容器以及生命周期



servlet生命周期

a:如果在web.xml中servlet配置loadon-start-up,那么服务启动时,就会创建servlet对象;如果不配置,就会在

第一次请求时创建,servlet对象一旦创建就会驻存在内存中,等待客户端发送请求。

servlet对象一旦创建就会调用init方法进行初始化。

b:如果客户端(浏览器)发送请求,那么servlet对象就会调用service()方法,并且会创建两个对象,一个是封装请求数据

的httpServletRequest对象,一个是封装响应数据的HttpServletResponse对象,并且把这两个对象作为参数传递给

service方法,service方法根据请求方式调用doget或者dopost方法。

c:服务器关闭或者web应用卸载时,servlet对象就会被销毁,那么会调用destroy方法。

五:缺省servlet





1:当我们访问服务器上的静态html页面时,实际上访问的是缺省servlet。

2:如果某个url路径不存在,都是交由缺省servlet处理。

配置在tomcat下conf/web.xml中:

1 <servlet>
2         <servlet-name>default</servlet-name>
3         <servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class>
4         <init-param>
5             <param-name>debug</param-name>
6             <param-value>0</param-value>
7         </init-param>
8         <init-param>
9             <param-name>listings</param-name>
10             <param-value>false</param-value>
11         </init-param>
12         <load-on-startup>1</load-on-startup>
13     </servlet>
14
15 <servlet-mapping>
16         <servlet-name>default</servlet-name>
17         <url-pattern>/</url-pattern>
18     </servlet-mapping>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: