Servlet

1.Servlet:是服务器端程序,作用是实现前后台交互.本质是一种特殊Java程序.

2.Servlet家族系谱图:
Servlet和ServletConfig是祖父,祖母的身份,两个均为接口;
GenericServlet是爷爷的身份,是类
HttpServlet是父亲的身份,是类

3.手动创建Servlet:
3.1:创建一个java类,让这个java类继承或实现Servlet家族中任意一代.
3.2:在Servlet类中重写init(),destroy(),处理请求doGet()和doPost();
3.3:在项目的web.xml中注册Servlet并配置映射路径

 <servlet>
  	<servlet-name>aa</servlet-name>
  	<servlet-class>com.qf.day14.servlet.FirstServlet</servlet-class>
  </servlet>
  <servlet-mapping>
  	<servlet-name>aa</servlet-name>
  	<url-pattern>/a1</url-pattern>
  </servlet-mapping> 

4.Web项目执行原理:

浏览器——Tomcat——web.xml——servlet1,servlet2…

5.Servlet的生命周期:
5.1:客户端发送http请求到服务器容器(tomcat).
5.2:服务器容器接收请求并处理
5.3:由服务器容器找到对应Servlet并调用Servlet构造方法(只调用一次)
创建Servlet实例
5.4:由服务器容器通过Servlet实例调用init()初始化方法(只调用一次)
5.5:由服务器容器通过Servlet实例调用处理请求的方法service()下面派生doGet()
和doPost();
5.6:由Servlet实例将请求处理的结果返回给服务器容器
5.7:服务器容器将请求处理的结果响应给客户端
5.8:由服务器容器通过Servlet实例调用destory()方法(只调用一次)销毁Servlet,释放 资源.

6.Servlet的生命阶段:
6.1:实例化阶段:由服务器容器找到对应Servlet并调用Servlet构造方法创建Servlet实例.
6.2:初始化阶段:由服务器容器通过Servlet实例调用init()初始化方法
6.3:请求处理阶段:由服务器容器通过Servlet实例调用处理请求的方法service()下面分发 doGet()和doPost();
6.4:服务终止阶段:由服务器容器通过Servlet实例调用destory()方法销毁Servlet,释放资 源.

7.Servlet是单例的,可以供多个线程来访问.

8.Servlet的初始化参数:
8.1:初始化参数的配置

<servlet>
    <servlet-name>aa</servlet-name>
    <servlet-class>com.qf.day14.servlet.FirstServlet</servlet-class>
    
    <!-- 声明初始化变量,在类加载时加载,作用等同于成员变量 -->
    <init-param>
    	<param-name>sname</param-name>
    	<param-value>小白菜</param-value>
    </init-param>
  </servlet>
  <servlet-mapping>
    <servlet-name>aa</servlet-name>
    <url-pattern>/a1</url-pattern>
  </servlet-mapping>
8.2:获得初始化参数的value值:在当前Servlet
	//获得FirstServlet中初始化变量
	String name=this.getInitParameter("sname");
     System.out.println("FirstServlet中初始化变量sname="+name);

9.Web项目上下文对象ServletContext的使用:
10.Servlet3.0之前,只支持配置版Servlet
11.Http协议:超文本传输协议.是一种请求-响应,无状态的,应用层协议.
11.5:响应状态码:
第一个数字有五种可能的取值:

  • 1xx: 指示信息—表示请求已接收,继续处理。
  • 2xx: 成功—表示请求已经被成功接收、理解、接受。
  • 3xx: 重定向—要完成请求必须进行更进一步的操作。
  • 4xx: 客户端错误—请求有语法错误或请求无法实现。
  • 5xx: 服务器端错误—服务器未能实现合法的请求。
    状态代码 状态描述 说明
    200 OK 客户端请求成功
    301 永久重定向
    302 临时重定向
    400 Bad Request 由于客户端请求有语法错误,不能被服务器所理解。
    401 Unauthonzed 请求未经授权。这个状态代码必须和WWW-Authenticate报头域一 起使用
    403 Forbidden 服务器收到请求,但是拒绝提供服务。服务器通常会在响应正文中 给出不提供服务的原因
    404 Not Found 请求的资源不存在,例如,输入了错误的URL。
    500 Internal Server Error 服务器发生不可预期的错误,导致无法完成客户端的请 求。(代码写错了)
    503 Service Unavailable 服务器当前不能够处理客户端的请求,在一段时间之 后,服务器可能会恢复 正常
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值