Servlet入门简介

  1. 什么是Servlet?
    Servlet是一个特殊的Java类(必须实现特定的接口)
    运行在服务器上(Tomcat)
    处理客户端的请求,并作出响应。(JSP:和用户交互的界面,显示动态数据)
    Servlet是以多线程的方式运行的。

  2. 为什么需要使用Servlet?
    (1)用于处理功能的JSP,放在类中实现更加的合理。
    (2)有利于代码分离。

  3. 如何编写Servlet?
    看是否需要导入jar包(javax.servlet-api-4.0.1.jar),继承HttpServlet,重写service(request,response)

    配置Servlet:

方式1:web.xml

 <servlet>
          <servlet-name>Servlet名称</servlet-name>
          <servlet-class>Servlet路径</servlet-class>
    </servlet>
    <servlet-mapping>
          <servlet-name>Servlet名称</servlet-name>
          <url-pattern>/Servlet名称</url-pattern>
    </servlet-mapping>

方式二:注解。Servlet添加@WebServlet("/Servlet名称")

  1. 服务器何时创建的Servlet对象?创建了多少个Servlet对象?
    首次访问Servlet时候创建的
    多次请求Servlet,Tomcat只创建一个Servlet对象处理多次请求。
    如果配置了,则Tomcat启动时就会创建Servlet对象。

  2. Servlet(405错误)表示请求方式与处理方式不匹配。

一个Servlet既能处理get请求,也能处理post请求的方式:
	(1)service
	(2)doGet和doPost相互调用
			doGet(){
			doPost();
		}
  1. Servlet生命周期
    (1)加载和实例化(<load-on-startup>)
    (2)初始化 init();
    (3)服务 service()/doGet()/doPost()
    (4)销毁 destroy();

  2. Servlet中的session (服务器,安全)
    (1)创建session:
    HttpSession session=request.getSession();
    当客户端没有session对象时,服务器会给客户端创建新session;如果客户端已有session,则会获取客户端的session。
    HttpSession session=request.getSession(true);
    当客户端没有session对象时,服务器会给客户端返回null;如果客户端已有session,则会获取客户端的session。
    HttpSession session=request.getSession(false);
    (2)设置session的有效时间(默认30分钟):
    session.setMaxInactiveInterval(秒);
    (3)存取session
    setAttribute()/getAttribute()
    (4)清除session
    session.removeAttribute();
    session.invalidate();

  3. Servlet中Cookie的使用(客户端,不安全)
    (1)创建Cookie
    Cookie cookie=new Cookie(“name”,“value”);
    (2)读写Cookie
    给客户端写入Cookie:response.addCookie(cookie);
    从客户端读取Cookie:Cookie[]cs=request.getCookies();

  4. Session和Cookie的对比
    (1)存取方式
    session服务器上
    cookie客户端上
    (2)存取内容
    session存对象,大小没有限制
    cookie存字符串(非中文),大小有限制
    (3)有效期
    session默认30分钟
    cookie默认未关闭浏览器一直有效(-1)
    (4)安全性
    session安全,可以存储重要的数据
    cookie不安全,存储辅助的数据

  5. 在Servlet中使用application
    ServletContext application=this.getServletContext();
    application.setAttribute(“username”, “名字");

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值