(十)Servlet

1

    1sevlet是一个普通的java类,继承HttpServlet类。

    2)其实实现了Servlet接口java类,才是一个Servlet类。

    3servlet程序需要交给tomcat服务器运行

2   在tomcat 服务器内部配置了一个缺省路径 <url-pattern>/</url-pattern>, 这个缺省路径在 tomcat 服务器内部被一个缺省 Servlet DefaultServlet )匹配。缺省的这个 Servlet 的作用是 专门用于处理所有网站中的静态网页

  先找动态网页,再找静态网页。

3  Servlet生命周期

   构造方法: 创建servlet对象时调用,只调用1次,证明了sevlet是单例的。

        init方法: 创建完对象之后调用。只调用1次。

        service方法: 在每次请求时调用,调用n次。入口。

   destory方法:在servlet对象销毁之后调用。只调用1次。


  1)尽量不要使用成员变量,或者静态成员变量。

  2)必须要使用成员变量,要么给使用了成员变量的代码块加同步锁,

5  服务器启动时,自动创建对象:

    在网站中web.xml 文件servlet中配置 <load-on-startup>1</load-on-startup>

6

    HttpservletRequest对象: 请求对象

    HttpServletResponse对象: 响应对象

    ServletConfig对象: servlet配置对象

    ServletContext对象: servlet的上下文对象

 

ServletContext5大作用

1)获取web的上下文路径

java.lang.String getContextPath()  //网站名称

2)获取全局参数

java.lang.String getInitParameter(java.lang.String name)  

java.util.Enumeration getInitParameterNames()  

3)和域对象相关的

void setAttribute(java.lang.String name, java.lang.Object object)  

java.lang.Object getAttribute(java.lang.String name)  

void removeAttribute(java.lang.String name)

4)请求转发的

RquestDispatcher getRequestDispatcher(java.lang.String path)

5)读取web项目的资源文件(根目录是网站)

java.lang.String getRealPath(java.lang.String path)  

java.io.InputStream getResourceAsStream(java.lang.String path)  

java.net.URL getResource(java.lang.String path)  

Servlet三个域对象:

  ServletContext

  HttpServletRequest

  HttpSession


 

8 重定向转发的区别

请求重定向:(302+location)

1)地址栏会发送改变。

2)可以跳转到项目内的资源,也可以跳转项目外的资源(根目录是站点)

3)浏览器向服务器发出两次请求,那么就不能使用请求来作为域对象来共享数据。

请求转发:

1)地址栏不会改变。

2)只能跳转到项目内的资源,不能跳转到项目外的资源(根目录是网站)

3)浏览器向服务器发出一次请求,那么可以使用请求作为域对象共享数据。

9  URLDecoder.decode(str, "utf-8");

      URLEncoder.encode(str, "utf-8");



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值