Servlet实现Session
来源:程序员人生 发布时间:2014-09-24 19:29:47 阅读次数:1919次
(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
生活不易,码农辛苦
如果您觉得本网站对您的学习有所帮助,可以手机扫描二维码进行捐赠