您的位置:首页 > 其它

Servlet请求路径的问题:

2016-07-10 16:00 31 查看
Servlet请求路径的问题:

在form的action属性中,直接写servlet的URL路径。默认是在当前目录下查找。一旦网页在子目录中,那么会在提交路径中加上子目录的名称。可以通过../回到上一级目录。

 

 

如果目录比较深,频繁使用../很繁琐,而且移植性不好。可以再URL路径中以/开始,表示回到webapps根目录,再加上部署名。再书写servlet请求路径

<form action=”/webTest/tt>

 

 

Servlet 的URL路径的书写方式:

精确映射  /ABC  表示只能以ABC路径查找servlet
扩展映射 *.action 表示凡是以.action结尾的请求,都能访问servlet
路径映射 /ABC/* 表示凡是以/ABC/路径下的请求都能访问servlet
 

 

Servlet生命周期:

启动tomcat,读取conf/server.xml,以确定启动端口和web应用程序的部署目录
读取部署目录中所有的web应用程序中的web.xml。并解析。所以一旦有一个web应用程序中的web.xml数学错误,那么解析失败,从而抛出解析异常正确解析web.xml,可以确定部署的web组件信息

加载并实例化servlet。加上<load-on-startup>标签,如果该标签的值为0 或者整数,表示web容器已启动就实例化。如果不写或为负数,表示第一次访问在实例化

调用init()方法完成初始化。
当请求到达后,调用service()完成业务。
销毁阶段,调用destory()完成清理工作
 

 

在整个生命周期中1/2/3/4/6都只执行一次,只有5才是每次请求都会执行。而且servlet对象只有一个,是单实例多线程的类

 

在注册Servlet时,可以在<servlet>标签中加入:

 

<init-param>初始化servlet

<param-name>aaa</param-name>键名

<param-value>111</param-value>值

</init-param>

 
进行servlet初始化信息的描述。可以通过servletConfig配置对象中的getInitParameter()根据参数名称,得到参数值。但该初始化只能用于当前servlet中使用,不能再别的servlet中使用
 
 
 
Java获得:
//得到配置对象
ServletConfig config = this.getServletConfig();

//根据初始化蚕食的键,得到初始化参数的值
String initValue = config.getInitParameter("aaa");

pw.print("初始化参数:" + initValue);

 

在注册servlet时

 

 

 

ServletContext应用上下文

属于整个web应用程序

 

<context-param>

<param-name>context</param-name>

<param-value>222</param-value>   

</context-param>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: