Servlet 笔记

1.简介:

在这里插入图片描述

2.JSP+Servlet的用户登录验证

例题:jsp页面只完成提交信息和验证信息的显示,而验证过程是由servlet完成,这些组件通过request对象实现数据共享,由提交页面将数据传递给servlet,它获取并验证,根据验证结果 转向jsp
login.jsp,
这个要注意form里面action功能 一般的jsp就写自己的名,然后这里需要写成servlet的java名字

<%@ page language="java" pageEncoding="UTF-8"  import="java.util.*"  %>
<html>
	<head> <title>登录页面</title> </head>
	<boby>
		<form action="Check_Servlet" method="post">
		 请输入用户名:<input type="text" name="username"><br>
		&nbsp&nbsp&nbsp 请输入密码:<input  type="text" name="password"><br>
		&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp<input type="submit" value="登录">&nbsp&nbsp&nbsp
		 <input type="reset">
	    </form>
	</boby>
</html>

在这里插入图片描述
Check_Servlet

package Servlet0;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet("/Check_Servlet")
public class Check_Servlet extends HttpServlet 
{
	private static final long serialVersionUID = 1L;
    public Check_Servlet() 
    {
        super();
      
    }
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
	//	response.getWriter().append("Served at: ").append(request.getContextPath());
	}
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException 
	{
		// TODO Auto-generated method stub
		//doGet(request, response);
		String userName=request.getParameter("username");
		String passWord=request.getParameter("password");
		String infor="";
		if(userName.equals("1")&&passWord.equals("1"))
			infor="欢迎您  "+userName+"~~~~~~~~~";
		else 
			infor="用户名或者密码不正确";
		request.setAttribute("Message",infor);
		request.getRequestDispatcher("/Infor.jsp").forward(request, response);
	}

}

infor.jsp

<%@ page language="java" pageEncoding="UTF-8"  import="java.util.*"  %>
<html>
	<head> <title>系统显示页面</title> </head>
	<boby>
		<%=request.getAttribute("Message")%>
	</boby>
</html>

3.Servlet常用对象及其方法

在这里插入图片描述
在这里插入图片描述在这里插入图片描述在这里插入图片描述

4.JSP与Servelet的数据共享

4.1 基于请求的数据共享(request)

4.1.1 共享请求参数数据

共享请求参数的共享过程为参数的传递,保存,获取。
(1)请求参数的传递有四种传递方式
① 通过表单提交后,由表单action属性指定进入的页面或者servlet,他们所接受的表单数据,也就是请求参数数据。
② 带参数的超链接所传递的参数也是请求参数。
③ 在地址栏中输入的参数也是请求参数。
④ 在jsp中,利用forward或include动作时,利用参数子动作标签所传递的数据也是请求参数。
(2)请求参数的获取
通过request/HttpServletRequest的实例,利用getParameter()方法获取,其格式为:

String request.getParameter("参数名")

4.1.2请求属性数据

(1)请求属性数据的形成于保存
通过request/HttpServletRequest的实例,利用setAttribute()方法形成属性及其属性值并保存

request.getAttribute("属性名","属性值")

(2)请求数据的获取

对象类型 (强制类型转换)request.getAttribute("属性名")

(3)若不想共享某属性,删除格式为

request.removeAttribute("属性名")

4.2 基于会话的数据共享

4.2.1 会话属性数据的形成与保存

通过session / HttpSession实例对象

session.setAttribute("属性名","属性值")

获取HTTPSession的实例对象的语句为:

HttpSession request.getSession(boolean create)

功能:返回对象,如果没有任何HttpSession对象关联,那么当create为true时,创建一个HTTPSession对象并返回,反之 返回null

4.2.2 会话属性数据的获取

会话属性数据在另一个组件中,获取属性数据的格式

对象类型(强制类型转换)session.getAttribute("属性名")

4.2.3 删除共享会话属性

session/application.removeAttribute("属性名");

4.3 基于应用的数据共享

4.3.1 应用属性数据的形成与保存

通过application或ServletContext的实例对象,利用setAttribute()

application.setAttribute("属性名","属性值");

注意:对于Servlet组件,首先要获取ServletContext的实例对象

ServletContext application=this.getServletContext()

4.3.2 应用属性数据的获取

应用属性数据在另一个组件中获取属性数据的格式

对象类型(强制类型转换)application.getAttribute("属性名")

4.3.3 删除共享应用属性

application.removeAttribute("属性名")

5. JSP Servlet的关联关系

5.1 JSP 页面调用Servlet

提交表单 超链接
(1)提交表单

<form action="servlet 访问地址">....</form>

(2) 超链接调用

<a href="servlet访问地址">提示信息></a>
或者
<a href="servlet 访问地址"?要传递的参数>提示信息</a>

5.2Servlet跳转到JSP页面

两种方式:转向和重定向
①转向
是在一个Web工程内部,各组件之间的调用,在调用时,request对象中的信息不丢失,进入另一个组件后,request对象中的数据可以在新的组件中继续使用。
在servlet中实现转向,需要由请求对象(HTTPServlet request)获取一个转发对象(RequestDispatcher rd),然后由转发对象调用转向方法forword()实现。
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{
RequestDispatcher rd=request.getRequestDispatcher(“jsp 网页”).forward(request,response);
//实现转向的关键代码,当转向后其后的代码不再执行。
}

② 重定向
重定向使用响应对象(HTTPServletResponse response)中的sendRedirect方法
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{
response.sendRedirect(“JSP 网页地址”)
//当重定向后其后的代码不再执行。
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值