Servlet请求路径的问题:

  • Servlet请求路径的问题:

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

     

     

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

    <form action=”/webTest/tt>

     

     

    Servlet 的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时,可以在<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>

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值