javaweb

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

如果目录比较深,频繁用../很繁琐,而且移植性不好。可以在url路径中,以/开始,表示回到webapps根目录,再加上布署名,再书写servlet请求路径
<form action="/webTest/tt">

Sevlet的URL路径书写的方式:

1.精确映射 /abc  表示只能以/abc路径查找servlet

2.扩展映射  *.action  表示凡是以.action结尾的请求,都能访问Servlet

3.路径映射  /abc/*  表示凡是在/abc/路径下的请求,都能访问servlet

Servlet生命周期

1、启动tomcat,读取conf/server.xml,以确定启动端口和web应用程序的布署目录

2、读取布署目录中所有的web应用程序中的web.xml,并解析。所有,一旦有一个web应用程序中的web.xml书写错误,那么解析失败,从而抛出解析异常。正确解析web.xml,可以确定布署的web组件信息。

3.加载并实例化Servlet。加上<load-on-startup>标签。如果该标签的值为0或正数,表示WEB容器一启动就实例化。如果该标签不写或为负数,表示第一次访问再实例化。

4、调用init()方法完成初始化。

5、当请求到达后,调用service()完成业务。

6、销毁阶段,调用destory()完成清理工作。

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

在注册Servlet时,可以加入
<init-param>
<param-name>aaa</param-name>
<param-value>111</param-value>
</init-param>
进行servlet初始化信息的描述。可以通过ServletConfig配置对象中的getIntParameter()根据参数名称,得到参数值。但该初始化参数只能在当前Servlet中使用,不能再别的Servlet使用。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值