博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
20160330javaweb之session 小练习
阅读量:6072 次
发布时间:2019-06-20

本文共 4934 字,大约阅读时间需要 16 分钟。

练习一:session 实现登录注销

 

package com.dzq.session.logout;import java.util.*;public class UserDao {	/**	 * 存储用户信息,代替数据库	 */private UserDao(){	}private static Map
map=new HashMap
();static{ map.put("张三丰", "111"); map.put("Adele", "111"); map.put("小杜", "111");}public static boolean valiNP(String username,String password){ return map.containsKey(username)&&map.get(username).equals(password);}}

 

我。。。。。。。。。。。。。。。。。。是。。。。。。。。。。。。分。。。。。。。。。。割。。。。。。。。。。线。。。。。。。。。。。。。。


package com.dzq.session.logout;import java.io.IOException;import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;@WebServlet("/LoginServlet")public class LoginServlet extends HttpServlet {	/**	 * 实现登录的servlet,登陆后重定向到主页index。jsp	 */	private static final long serialVersionUID = 1L;          	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {		request.setCharacterEncoding("utf-8");		response.setContentType("text/html;charset=utf-8");	String username=request.getParameter("username");	String password=request.getParameter("password");	if(UserDao.valiNP(username, password)){		request.getSession().setAttribute("user", username);		response.sendRedirect(request.getContextPath()+"/logout/index.jsp");	}else{				response.getWriter().write("用户名或者密码错误");	}		}		protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {		doGet(request, response);	}}

我。。。。。。。。。。。。。。。。是。。。。。。。。。。。。分。。。。。。。。。。割。。。。。。。。。。线。。。。。。。。。。。。


package com.dzq.session.logout;import java.io.IOException;import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;@WebServlet("/LogoutServlet")public class LogoutServlet extends HttpServlet {	private static final long serialVersionUID = 1L;       /**        * 注销登录的servlet ,销毁session ,重定向到index。jsp        */    	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {		if(request.getSession(false)!=null&&request.getSession().getAttribute("user")!=null){			request.getSession().invalidate();		}		response.sendRedirect(request.getContextPath()+"/logout/index.jsp");	}		protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {		doGet(request, response);	}}

  

我。。。。。。。。。。。。。。是。。。。。。。。。。。。分。。。。。。。。。。割。。。。。。。。。。线。。。。。。。。。。。

我               的               下                        面                        是                 jsp                         页                                     面


  

<%@ page language="java" contentType="text/html; charset=UTF-8"    pageEncoding="UTF-8"%>
Insert title here

我的网站


<%String user=(String)session.getAttribute("user");%><%if(user==null||"".equals(user)){ %> 欢迎光临,游客.... 登录 注册 <% }else{ %> 欢迎回来,<%=user %> 注销 <%}%>

  

我。。。。。。。。。。。。。。是。。。。。。。。。。。。分。。。。。。。。。。割。。。。。。。。。。线。。。。。。。。。。。。

我                     的                 下                   面              还        是                 jsp                   页                             面


  

<%@ page language="java" contentType="text/html; charset=UTF-8"    pageEncoding="UTF-8"%>
Insert title here

我的网站


用户名:
密码:

  练习二:session 实现防止表单重复提交:

package com.dzq.session.resubmit;import java.io.IOException;import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;@WebServlet("/ResubServlet")public class ResubServlet extends HttpServlet {	private static final long serialVersionUID = 1L;       /**        * 获取session 防止重复提交        */    	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {		request.setCharacterEncoding("utf-8");		response.setContentType("text/html;charset=utf-8");		try {			Thread.sleep(4*1000);		} catch (Exception e) {			e.printStackTrace();		}		String username=request.getParameter("username");		String valinum=request.getParameter("valinum");		String valinum2=(String) request.getSession().getAttribute("valinum");				if(valinum2!=null&& !"".equals(valinum2)&&valinum.equals(valinum2)){			request.getSession().removeAttribute("valinum");			System.out.println("向数据库中注册一次"+username);		}else{			response.getWriter().write("web不要重复提交");		}			}		protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {		doGet(request, response);	}}

  

我。。。。。。。。。。。。。。是。。。。。。。。分。。。。。。。。割。。。。。。。。。。线。。。。。。。。。。。。

我                的                 下                  面                          是                    jsp                    页                面


  

<%@ page language="java" contentType="text/html; charset=UTF-8"    pageEncoding="UTF-8"%>
Insert title here<% Random r=new Random();int valinum=r.nextInt();session.setAttribute("valinum", valinum+"");%>

  

转载于:https://www.cnblogs.com/xiaoduc-org/p/5338846.html

你可能感兴趣的文章
C#创建并读取ini文件
查看>>
VisualSVN Server certificate key usage violati...
查看>>
Android内存泄漏的八种可能(上)
查看>>
关注学习博客网址
查看>>
批量分离和附加数据库
查看>>
数据中心上下走线方式优劣分析
查看>>
CISCO MDS9124 配置
查看>>
.NET 计量单位组件:PhysicalMeasure
查看>>
CentOS6.4升级Python到2.7版本 , 用vim写python代码
查看>>
保存mysql表结构
查看>>
备份存储过程修改,解决压缩问题
查看>>
webservice 新增模块功能开关设置说明
查看>>
eclipse启动报错解决
查看>>
Guava库学习:学习Guava Cache(一)MapMaker
查看>>
ceph官方文档笔记(一)
查看>>
django简单用户登陆验证
查看>>
在Mac OS X中安装MySQL
查看>>
微信图片放大
查看>>
MySQL_join开发技巧
查看>>
centOS6.3下lamp搭建(提供全套软件包)
查看>>