JSP(Java Server Pages)——内置对象request+Cookie

本文通过实例演示了如何使用JSP实现用户登录功能,并利用Cookie技术实现自动记住密码的功能。文章详细介绍了zyfCookie系列JSP页面的具体实现过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

JSP(Java Server Pages)——内置对象request+Cookie


Web容器处理jSP文件请求需要三个阶段

1翻译阶段

2编译阶段

3执行阶段

JSP置对象request

 



JDBC是JAVA数据库连接技术的简称,提供连接各种常用数据库的能力

 



 

 




Cookie   浏览器记住密码

 




zyfCookie0.jsp代码:

 
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@page import="java.net.URLDecoder"%>
<%@page import="java.net.URLEncoder"%>
<%@ page contentType="text/html; charset=utf-8" %>
<%@ page import="javax.servlet.http.Cookie" %>

<%
request.setCharacterEncoding("utf-8");
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";


Cookie[] cooks=request.getCookies();
String  cookieFlag="0";
String name8="";
String pwd8="";
if(cooks==null){
	System.out.println("cookie ==null");
}else{
	for(Cookie c:cooks){
	System.out.println(c.getName());
	 if(c.getName().equals("zyfzyf")){
	 System.out.print(URLDecoder.decode(c.getValue(),"utf-8"));
	 String  ch[]=URLDecoder.decode(c.getValue(),"utf-8").split("AAA");
	
	    name8=ch[0];
		pwd8 =ch[1];
		cookieFlag="1";
	 } 
	}
}

%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
  
      <base href="<%=basePath%>">
    <title>My JSP 'zyfCookie0.jsp' starting page</title>
          <meta charset="utf-8">
	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">    
	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
	<meta http-equiv="description" content="This is my page">
	<!--
	<link rel="stylesheet" type="text/css" href="styles.css">
	-->
<script type="text/javascript" src="js/jquery-1.4.2.min.js"></script>
 
  <script>
  $(function(){
$("#bt1").click(function(){
$("#f1").submit();
});
});
/*  function tijiao(){
	     document.baseFrom.submit();
    } */
    setTimeout(function(){
       /* function autoSubmit(){ */
    var cookieFlag1=document.getElementById("cookieFlag");
    if(cookieFlag1.value=="1"){
  $("#f1").submit();
   /*   } */
    }
     },2000);
    
    function auto(){
   var cookieFlag1=document.getElementById("cookieFlag");
    if(cookieFlag1.value=="1"){
 var hhhh=document.getElementById("zzz");
 hhhh.checked=true;
     }
    }




<%-- function setV(){
var user=document.getElementById("user");
user.value='<%=USER%>';
} --%>
  </script>
  
  
  </head>
 <!--  onload="setV()" -->
  <body  onload="auto()">
   
  <div style="margin-top:200px;margin-left:35%;width:30%">
  
       This is my 用户登录. <br>
    <form action="<%=basePath%>/Cookie/zyfCookie1.jsp" method="post" id="f1" name="baseFrom">
  <input type="hidden" id="cookieFlag" value="<%=cookieFlag%>">
  <table>
  <tr>
  
   <td><input type=text name="name" placeholder="输入用户名" id="user" value=<%=name8%>></td>

  </tr>
   <tr>
   
   <td><input type=text name="pwd1" placeholder="输入密码"value=<%=pwd8%>></td>
  </tr>
   <tr>
  <td><input type="checkbox" name="zddl"  value="下次自动登录" id="zzz">下次自动登录</td>
  </tr>
   <tr>
   <td><input type="button"  value="登录" id="bt1" ></td>

  </tr>
 
  </table>
    </form>
    </div>
    <a href="Cookie/zyfCookie2.jsp" >点击</a>
  </body>
</html>

zyfCookie1.jsp代码:

<%@page import="java.net.URLDecoder"%>
<%@page import="java.net.URLEncoder"%>
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>

<%@ page contentType="text/html; charset=utf-8" %>
<%@ page import="javax.servlet.http.Cookie" %>
<%@ page import="java.sql.*" %>
<%@ page import="com.mysql.jdbc.Connection.*" %>

<%
request.setCharacterEncoding("utf-8");
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
String name=request.getParameter("name");
String pwd=request.getParameter("pwd1");
String love[]=request.getParameterValues("zddl");

String zyf="1";
//mysql驱动mingz
  String diverName="com.mysql.jdbc.Driver";
   //数据库用户名 
  String userName="root";
  //密码 
  String userPasswd = "ffffff";
	//数据库名 
 String dbName     = "shcoolapp";
	//联结字符串
	 String url = "jdbc:mysql://localhost/" + dbName 
	                        + "?user="+ userName 
	                        + "&password=" + userPasswd
	                        + "&useUnicode=true&characterEncoding=gbk"; 
   try{
Class.forName(diverName);
Connection con=DriverManager.getConnection(url);
Statement stmt=con.createStatement();
ResultSet rs=stmt.executeQuery("SELECT * FROM users where user_name='"+name+"'and pwd='"+pwd+"'");
if(rs.next()){
String  name1=rs.getString("USER_NAME");
String  pwd2=rs.getString("PWD");
String  dName=rs.getString("DISPLAY_NAME");
out.println("<p>用户名:"+name1+"</p>");
out.println("<h1>密码:"+pwd2+"</h1> ");
out.println("<h2>显示名称:"+dName+"</h2>");



if(love.length==1){
out.println("<h2>"+"登陆成功!!!!!"+"</h2>");

	//创建Cookie
	Cookie newCookie=new Cookie("zyfzyf",URLEncoder.encode(pwd+"AAA"+name, "utf-8"));
	newCookie.setMaxAge(60);//以秒为单位 设置有效期
	//newCookie.getPath(uri);//保存路径
	//newCookie.setDomain("jereh.com");//网站域名
	//写入Cookie 
	response.addCookie(newCookie);
}










//转发  数据库  本网址
 RequestDispatcher rd = request.getRequestDispatcher("zyfCookie2.jsp?nName="+dName);
     //为request设置属性
     request.setAttribute("dName", dName);
      rd.forward(request, response);

}else{
out.println("<h2>"+"登陆失败!!!!!数据库里没有你的信息"+"</h2>");
zyf="2";
}

con.close();
}catch(Exception e){
e.printStackTrace();
}
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>My JSP 'zyfCookie1.jsp' starting page</title>
         <meta charset="utf-8">
	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">    
	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
	<meta http-equiv="description" content="This is my page">
	<!--
	<link rel="stylesheet" type="text/css" href="styles.css">
	-->

  <script type="text/javascript" src="js/jquery-1.4.2.min.js"></script>
  
  <script>
$(function(){
if($("#flag").val()=="2"){
  setTimeout(function(){
 /*  document.baseFrom.action="ZYFuser.jsp";
  document.baseFrom.submit(); */
  
  $("form").attr("action","Cookie/zyfCookie0.jsp");
  $("form").submit();
  
  
/*   window.location.href="ZYFuser.jsp"; */
  },1000);
}
});


</script>
  </head>
  
  <body>
  <form action="" method="post"name="baseFrom">
  
   <input type="hidden" id="flag" value='<%=zyf%>'>
  </form>
 
  </body>
</html>


zyfCookie2.jsp代码:

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>

<%@ page contentType="text/html; charset=utf-8" %>


<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>My JSP 'zyfCookie2.jsp' starting page</title>
    
	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">    
	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
	<meta http-equiv="description" content="This is my page">
	<!--
	<link rel="stylesheet" type="text/css" href="styles.css">
	-->

  </head>
  
  <body>
    登录成功  欢迎你进入!! <br>
  </body>
</html>



 




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值