servlet实现session

(1)首先看一下项目的结构

是在tomcat--webaps下的myWebSites项目

在myWebSites下有只有WEB-INF文件夹 在WEB-INF文件夹中有  一下目录(在classes文件夹下方class类)



其中之需下边三个 类即可 项目如下结构:



(2)Login.java代码

[java]  view plain  copy
  1. //登陆界面  
  2. package com.tsinghua;  
  3.   
  4. import javax.servlet.http.*;  
  5.   
  6. import java.io.*;  
  7.   
  8. public class Login extends HttpServlet{  
  9.       
  10.     public void doGet(HttpServletRequest req,HttpServletResponse res){  
  11.           
  12.         //业务逻辑  
  13.         try{  
  14.             //解决中文乱码  
  15.             res.setContentType("text/html;charset=gbk");  
  16.               
  17.             PrintWriter pw = res.getWriter();  
  18.             //返回登陆界面  
  19.             pw.println("<html>");  
  20.             pw.println("<body>");           
  21.               
  22.             pw.println("<h1>用户登录</h1>");  
  23.             pw.println("<form action=logincl method=post>");  //action的是servlet的url  
  24.             pw.println("用户名:<input type=text name=username><br/>");  
  25.             pw.println("密码:<input type=password name=passwd><br/>");  
  26.             pw.println("<input type=submit value=loing><br/>");  
  27.             pw.println("<input type=hidden name=sex value=男><br/>");  //hidden类型在页面中不显示  
  28.             pw.println("</form>");              
  29.               
  30.             pw.println("</body>");  
  31.             pw.println("</html>");  
  32.               
  33.         }  
  34.         catch(Exception ex){  
  35.             ex.printStackTrace();  
  36.         }  
  37.     }  
  38.       
  39.     public void doPost(HttpServletRequest req,HttpServletResponse res){  
  40.         this.doGet(req,res);  
  41.     }  
  42. }  

(3)Logincl.java代码

[java]  view plain  copy
  1. //登陆界面  
  2. package com.tsinghua;  
  3.   
  4. import javax.servlet.http.*;  
  5.   
  6. import java.io.*;  
  7.   
  8. public class Logincl extends HttpServlet{  
  9.       
  10.     public void doGet(HttpServletRequest req,HttpServletResponse res){  
  11.           
  12.         //业务逻辑  
  13.         try{  
  14.             //解决中文乱码  
  15.             //res.setContentType("text/html;charset=gbk");    
  16.             //PrintWriter pw = res.getWriter();  
  17.               
  18.             //接受用户名和密码  
  19.             String u = req.getParameter("username");  
  20.             String p = req.getParameter("passwd");  
  21.             //验证  
  22.             if(u.equals("sp") && p.equals("123"))  
  23.             {  
  24.                 //将验证成功的信息,写入到session中去  
  25.                 //1.得到session  
  26.                 HttpSession hs = req.getSession(true);  
  27.                 //修改session的存在时间  
  28.                 hs.setMaxInactiveInterval(20000);// 以秒算的  
  29.                 hs.setAttribute("pass","ok");  //设置到session中去  
  30.           
  31.                 //合法的情况 跳转到Welcome  
  32.                 res.sendRedirect("welcome?uname="+u+"&upass="+p);//这里跳转的仍是servlet的url  
  33.             }  
  34.             else  
  35.             {  
  36.                 //不合法的情况  
  37.                 //跳转  
  38.                 res.sendRedirect("login");//跳转的是要到servlet的url  
  39.             }  
  40.           
  41.         }  
  42.         catch(Exception ex){  
  43.             ex.printStackTrace();  
  44.         }  
  45.     }  
  46.       
  47.     public void doPost(HttpServletRequest req,HttpServletResponse res){  
  48.         this.doGet(req,res);  
  49.     }  
  50. }  

(4)Welcome.java代码


[java]  view plain  copy
  1. //登陆界面  
  2. package com.tsinghua;  
  3.   
  4. import javax.servlet.http.*;  
  5.   
  6. import java.io.*;  
  7.   
  8. public class Welcome extends HttpServlet{  
  9.       
  10.     public void doGet(HttpServletRequest req,HttpServletResponse res){  
  11.           
  12.         //得到session  
  13.         HttpSession hs = req.getSession(true);  
  14.         String val = (String)hs.getAttribute("pass");  
  15.         //判断  
  16.         if(val == null)  
  17.         {  
  18.             try{  
  19.                 //非法登陆  
  20.                 res.sendRedirect("login");  
  21.             }catch(Exception ex){  
  22.                 ex.printStackTrace();  
  23.             }  
  24.           
  25.         }  
  26.           
  27.         //得到Logincl传递的 用户名  
  28.         String u=req.getParameter("uname");  
  29.         //得到密码  
  30.         String p= req.getParameter("upass");  
  31.         String sex= req.getParameter("sex");  
  32.         println(sex);  
  33.         //业务逻辑  
  34.           
  35.         try{  
  36.             //解决中文乱码  
  37.             res.setContentType("text/html;charset=gbk");  
  38.               
  39.             PrintWriter pw = res.getWriter();  
  40.           
  41.             pw.println("hello welcome!"+u+p);  
  42.               
  43.         }  
  44.         catch(Exception ex){  
  45.             ex.printStackTrace();  
  46.         }  
  47.     }  
  48.       
  49.     public void doPost(HttpServletRequest req,HttpServletResponse res){  
  50.         this.doGet(req,res);  
  51.     }  
  52. }  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值