Servlet實(shí)現(xiàn)Session
來(lái)源:程序員人生 發(fā)布時(shí)間:2014-09-24 19:29:47 閱讀次數(shù):2039次
(1)首先看一下項(xiàng)目的結(jié)構(gòu)
是在tomcat--webaps下的myWebSites項(xiàng)目
在myWebSites下有只有WEB-INF文件夾 在WEB-INF文件夾中有 一下目錄(在classes文件夾下方class類(lèi))


其中之需下邊三個(gè) 類(lèi)即可 項(xiàng)目如下結(jié)構(gòu):

(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){
//業(yè)務(wù)邏輯
try{
//解決中文亂碼
res.setContentType("text/html;charset=gbk");
PrintWriter pw = res.getWriter();
//返回登陸界面
pw.println("<html>");
pw.println("<body>");
pw.println("<h1>用戶(hù)登錄</h1>");
pw.println("<form action=logincl method=post>"); //action的是servlet的url
pw.println("用戶(hù)名:<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類(lèi)型在頁(yè)面中不顯示
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){
//業(yè)務(wù)邏輯
try{
//解決中文亂碼
//res.setContentType("text/html;charset=gbk");
//PrintWriter pw = res.getWriter();
//接受用戶(hù)名和密碼
String u = req.getParameter("username");
String p = req.getParameter("passwd");
//驗(yàn)證
if(u.equals("sp") && p.equals("123"))
{
//將驗(yàn)證成功的信息,寫(xiě)入到session中去
//1.得到session
HttpSession hs = req.getSession(true);
//修改session的存在時(shí)間
hs.setMaxInactiveInterval(20000);// 以秒算的
hs.setAttribute("pass","ok"); //設(shè)置到session中去
//合法的情況 跳轉(zhuǎn)到Welcome
res.sendRedirect("welcome?uname="+u+"&upass="+p);//這里跳轉(zhuǎn)的仍是servlet的url
}
else
{
//不合法的情況
//跳轉(zhuǎn)
res.sendRedirect("login");//跳轉(zhuǎn)的是要到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傳遞的 用戶(hù)名
String u=req.getParameter("uname");
//得到密碼
String p= req.getParameter("upass");
String sex= req.getParameter("sex");
println(sex);
//業(yè)務(wù)邏輯
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);
}
}
需要項(xiàng)目代碼的:http://download.csdn.net/detail/u010870518/7843661
生活不易,碼農(nóng)辛苦
如果您覺(jué)得本網(wǎng)站對(duì)您的學(xué)習(xí)有所幫助,可以手機(jī)掃描二維碼進(jìn)行捐贈(zèng)