Servlet常用的方法说明

目录

什么是Servlet

Servlet的生命周期

ServletContext类

ServletRequest接口

HttpSession接口

ServletResponse接口


什么是Servlet

Servlet是运行在web服务器上的一个java程序,它可以接收客户端发送过来的请求,并响应数据给客户端。

一般在实际项目开发中,都是使用继承HttpServlet类的方式去实现Servlet程序。
1)编写一个类去继承 HttpServlet 类。
2)根据业务需要重写doGet或doPost方法。
3)到web.xml中的配置Servlet程序的访问地址

Servlet的生命周期

Servlet程序的生命周期是指,这个Servlet由创建到销毁过程。

 

ServletContext类


1)ServletContext是一个接口,它表示Servlet上下文对象
2)一个web服务,只有一个ServletContext对象实例。
3)ServletContext对象是一个域对象。
4)ServletContext是在web服务启动的时候创建。在web服务停止的时候销毁。

域对象可以像Map一样存取数据
这里的域指的是存取数据的操作范围,整个web项目。

//获取ServletContext对象
ServletContext context = getServletContext();

//存数据
context.setAttribute("key1", "value1");
//取数据

context.getAttribute("key1")

ServletRequest接口

请求对象,浏览器每次发送请求时被创建,响应结束之后被销毁,用于存放来自页面的参数和浏览器信息,生命周期最短。

  • 创建:客户端向服务器发送一次请求
  • 销毁:服务器为这次请求做出相应之后,销毁request

常用方法:

  1. 存放数据:setAttribute(name, value)
  2. 获取数据:getAttribute(name)
  3. 删除数据:removeAttribute(name)

返回请求中指定参数的值(从前端页面name属性获取): 

        //获取数据
        String email = request.getParameter("email");
        String userpwd = request.getParameter("userpwd");

使用ServletRequest请求转发: 

//服务器的分发(request的转发) //服务器跳转页面
request.getRequestDispatcher("login.do").forward(request, response);

HttpSession接口


作用范围:
会话对象,服务器会为每个会话创建一个session对象,所以session中的数据可供当前会话中所有servlet共享, 拥有较长的生命周期。

会话:用户打开浏览器会话开始,直到关闭浏览器会话才会结束。一次会话期间只会创建一个session对象。

用处:常用于web开发中的登陆验证界面(当用户登录成功后浏览器分配其一个session键值对)。

  • 创建:浏览器请求服务器时
  • 销毁:关闭浏览器窗口或页面不刷新过期时

常用方法:

  1. 存放数据:setAttribute(name, value)
  2. 获取数据:getAttribute(name)
  3. 删除数据:removeAttribute(name)

session的创建与获取:

//获取session对象(在浏览器中第一次请求的时候服务器就会创建session对象)
HttpSession session = request.getSession();

//利用session对象使用重定向跳转页面
session.setAttribute("loginuser",lo);
//重定向
response.sendRedirect("main.do");
//获取数据
 Login lo = (Login) session.getAttribute("loginuser");

 

请求转发和重定向的区别: 

 

 

ServletResponse接口

PrintWriter getWriter ( ) ;获取响应流对象   

	    //获取响应流对象
		PrintWriter out = response.getWriter();
		//响应用户
		out.print("hello");
		//释放资源
		out.close();

设置编码集格式,处理乱码
  response.setCharacterEncoding("utf-8");
  response.setContentType("text/html;charset=utf-8"); 

		//处理乱码
		response.setCharacterEncoding("utf-8");
		response.setContentType("text/html;charset=utf-8");

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值