javaWeb基础3

用Servlet完成登录功能

Servlet

初识servlet
servlet做了什么
  • 本身不做任何业务处理
  • 只是接收请求并决定调用哪个JavaBean去处理请求
  • 确定用哪个页面来显示处理返回的数据
servlet是什么
  • Server+Applet,是一种服务器端的Java应用程序
  • 只有当一个服务器端的程序使用了Servlet API的时候,这个服务端的程序才能称之为Servlet。
servlet与jsp

在这里插入图片描述

servlet API
主要API
  • javax.servlet.Servlet接口:
    ⚫所有Java Servlet的基础接口类,规定了必须由Servlet具体类实现的方法集
  • javax.servlet.GenericServlet类
    ⚫是Servlet的通用版本,是一种与协议无关的Servlet
  • javax.servlet.http.HttpServlet类
    ⚫在GenericServlet基础上扩展的基于Http协议的Servlet
创建一个servlet的三种方法
  • 创建类实现javax.servlet.Servlet接口
  • 创建类继承javax.servlet.GenericServlet类
  • 创建类继承javax.servlet.http.HttpServlet类
servlet的主要方法
  • init(): Servlet的初始化方法,仅仅会执行一次
  • service(): 处理请求和生成响应
  • destroy(): 在服务器停止并且程序中的Servlet对象不再使用的时候调用,只执行一次
  • ServletRequest
    ⚫封装客户的请求信息
    ⚫作用相当于JSP内置对象request
  • ServletResponse
    ⚫创建响应信息,将处理结果返回给客户端
    ⚫作用相当于JSP内置对象response
  • ServletConfig: 包含了servlet的初始化参数信息
servlet的生命周期
生命周期谁来做何时做
实例化servlet容器当Servlet容器启动或者容器检测到客户端请求时
初始化servlet容器实例化后,容器调用Servlet的init()初始化对象
处理请求servlet容器得到客户端请求并做出处理时
销毁servlet容器当程序中的Servlet对象不再使用的时候,或者Web服务器停止运行的时候

在这里插入图片描述

servlet配置
<servlet>
  	<servlet-name>loginServlet</servlet-name>
  	<servlet-class>com.ishopn.servlet.LoginServlet</servlet-class>
  </servlet>
  <servlet-mapping>
  	<servlet-name>loginServlet</servlet-name>
  	<url-pattern>/loginServlet</url-pattern>
  </servlet-mapping>

代码实现

public class LoginServlet extends HttpServlet {
	protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		req.setCharacterEncoding("utf-8");
		resp.setCharacterEncoding("utf-8");
		// 从表单 获取数据 
		String userName=req.getParameter("userName");
		String userPassword=req.getParameter("userPassword");
		if("jack".equals(userName) && "333".equals(userPassword)) {
			//cookie
			Cookie cookie=new Cookie("userName",userName);
			cookie.setMaxAge(60*5);
			resp.addCookie(cookie);
			//session 在servlet中 是问req拿的
			HttpSession session=req.getSession();
			session.setAttribute("userName", userName);
			resp.sendRedirect("/web05/welcome.jsp");
		}else {
			resp.sendRedirect("/web05");
		}

	}

	protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		doGet(req,resp);
	}
	
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值