码迷,mamicode.com
首页 > 其他好文 > 详细

Servlet实现Session

时间:2014-08-30 17:50:09      阅读:221      评论:0      收藏:0      [点我收藏+]

标签:servlet   session   login   java   httpservlet   

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

是在tomcat--webaps下的myWebSites项目

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

bubuko.com,布布扣

bubuko.com,布布扣

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

bubuko.com,布布扣


(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




Servlet实现Session

标签:servlet   session   login   java   httpservlet   

原文地址:http://blog.csdn.net/xlgen157387/article/details/38945211

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!