程序员人生 网站导航

Servlet实现Session

栏目:互联网时间:2014-09-24 19:29:47

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

是在tomcat--webaps下的myWebSites项目

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



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



(2)Login.java代码

//登陆界面 package com.tsinghua; import javax.servlet.http.*; import java.io.*; public class Login extends HttpServlet{ public void doGet(HttpServletRequest req,HttpServletResponse res){ //业务逻辑 try{ //解决中文乱码 res.setContentType("text/html;charset=gbk"); PrintWriter pw = res.getWriter(); //返回登陆界面 pw.println("<html>"); pw.println("<body>"); pw.println("<h1>用户登录</h1>"); pw.println("<form action=logincl method=post>"); //action的是servlet的url pw.println("用户名:<input type=text name=username><br/>"); pw.println("密码:<input type=password name=passwd><br/>"); pw.println("<input type=submit value=loing><br/>"); pw.println("<input type=hidden name=sex value=男><br/>"); //hidden类型在页面中不显示 pw.println("</form>"); pw.println("</body>"); pw.println("</html>"); } catch(Exception ex){ ex.printStackTrace(); } } public void doPost(HttpServletRequest req,HttpServletResponse res){ this.doGet(req,res); } }

(3)Logincl.java代码

//登陆界面 package com.tsinghua; import javax.servlet.http.*; import java.io.*; public class Logincl extends HttpServlet{ public void doGet(HttpServletRequest req,HttpServletResponse res){ //业务逻辑 try{ //解决中文乱码 //res.setContentType("text/html;charset=gbk"); //PrintWriter pw = res.getWriter(); //接受用户名和密码 String u = req.getParameter("username"); String p = req.getParameter("passwd"); //验证 if(u.equals("sp") && p.equals("123")) { //将验证成功的信息,写入到session中去 //1.得到session HttpSession hs = req.getSession(true); //修改session的存在时间 hs.setMaxInactiveInterval(20000);// 以秒算的 hs.setAttribute("pass","ok"); //设置到session中去 //合法的情况 跳转到Welcome res.sendRedirect("welcome?uname="+u+"&upass="+p);//这里跳转的仍是servlet的url } else { //不合法的情况 //跳转 res.sendRedirect("login");//跳转的是要到servlet的url } } catch(Exception ex){ ex.printStackTrace(); } } public void doPost(HttpServletRequest req,HttpServletResponse res){ this.doGet(req,res); } }

(4)Welcome.java代码


//登陆界面 package com.tsinghua; import javax.servlet.http.*; import java.io.*; public class Welcome extends HttpServlet{ public void doGet(HttpServletRequest req,HttpServletResponse res){ //得到session HttpSession hs = req.getSession(true); String val = (String)hs.getAttribute("pass"); //判断 if(val == null) { try{ //非法登陆 res.sendRedirect("login"); }catch(Exception ex){ ex.printStackTrace(); } } //得到Logincl传递的 用户名 String u=req.getParameter("uname"); //得到密码 String p= req.getParameter("upass"); String sex= req.getParameter("sex"); println(sex); //业务逻辑 try{ //解决中文乱码 res.setContentType("text/html;charset=gbk"); PrintWriter pw = res.getWriter(); pw.println("hello welcome!"+u+p); } catch(Exception ex){ ex.printStackTrace(); } } public void doPost(HttpServletRequest req,HttpServletResponse res){ this.doGet(req,res); } }


需要项目代码的:http://download.csdn.net/detail/u010870518/7843661




------分隔线----------------------------
------分隔线----------------------------

最新技术推荐