zoukankan      html  css  js  c++  java
  • Servlet实现Session

    (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();
    			
    			//接受用户名和password
    			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传递的 username
    		String u=req.getParameter("uname");
    		//得到password
    		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




  • 相关阅读:
    DevExpress控件开发常用要点(项目总结版)
    DevExpress BarManager 部分用法
    DevExpress LookUpEdit和ComboBoxEdit部分用法
    DevExpress GridControl 部分用法
    DevExpress 中 WaitForm 使用
    DevExpress汉化(WinForm)
    DevExpress 使用 XtraTabbedMdiManager 控件以 Tab样式加载 Mdi窗体并合并 RibbonControl 解决方案
    DevExpress 关于 GridView 表格编辑中 点击其他按钮里导致 值未取到处理
    DevExpress 中 在做全选的全消功能的时候 加快效率
    DevExpress后置代码中初始化SQL数据源的方法
  • 原文地址:https://www.cnblogs.com/blfshiye/p/4051996.html
Copyright © 2011-2022 走看看