cookie和session的使用

来源:互联网 发布:java jframe重绘 编辑:程序博客网 时间:2024/05/20 02:56

cookie和session的使用

<%@ page language="java" import="java.util.*" pageEncoding="utf-8" session="true"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html>  <head><title>cookie和session的使用</title></head>  <body>   <a href="<%=request.getContextPath() %>/setservlet?value=电视">电视</a>   <a href="<%=request.getContextPath() %>/setservlet?value=手机">手机</a>   <a href="<%=request.getContextPath() %>/buyservlet">购买</a>  </body></html>

package com.taxue.session;import java.io.IOException;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.servlet.http.HttpSession;/** * http://127.0.0.1:8080/jsp/buyservlet * @author wqk */public class BuyServlet extends HttpServlet {public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {response.setContentType("text/html;charset=utf-8");HttpSession session = request.getSession();String value = (String) session.getAttribute("value");response.getWriter().write("你要付款的是"+value);}public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {}}
package com.taxue.session;import java.io.IOException;import javax.servlet.ServletException;import javax.servlet.http.Cookie;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.servlet.http.HttpSession;/** * http://127.0.0.1:8080/jsp/setservlet * @author wqk */public class SetServlet extends HttpServlet {public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {String value = request.getParameter("value");value = new String(value.getBytes("iso8859-1"), "utf-8");HttpSession session = request.getSession();Cookie cookie = new Cookie("JSESSIONID", session.getId());cookie.setPath(response.getContentType());cookie.setMaxAge(1000*60);response.addCookie(cookie);session.setAttribute("value", value);}public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {}}

防止表单重复提交

一页面控制

<%@ page language="java" import="java.util.*" pageEncoding="utf-8" session="true"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html>  <head><title>js防止表单多次提交</title></head><script type="text/javascript">  var isNotSub =true;  function canSub(){  if(isNotSub){  isNotSub =false;  return false;  }else{  alert("请不要重复提交!!!");  return false;  }  }</script>  <body>  <form action="${pageContext.request.contextPath}/submitform" method="POST" onsubmit="return canSub()">  用户名:<input type="text" name="username" value="" /><input type="submit" value="注册"/>  </form>  </body></html>

二session控制

<%@ page language="java" import="java.util.*" pageEncoding="utf-8" session="true"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html>  <head><title>js防止表单多次提交</title></head>  <body>  <%  Random r = new Random();  int sessionvalue=r.nextInt();  session.setAttribute("sessionvalue", sessionvalue+"");  %>  <form action="${pageContext.request.contextPath}/submitform" method="POST"">  用户名:<input type="text" name="username" value="" />  <input type="hidden" name="sessionvalue" value="<%=sessionvalue %>">  <input type="submit" value="注册"/>  </form>  </body></html>

package com.taxue;import java.io.IOException;import java.io.PrintWriter;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;/** * 防止表单重复提交 * 127.0.0.1:8080/jsp/submitform * @author wqk */public class SubmitForm extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException { }public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {response.setContentType("text/html;charset=utf-8");request.setCharacterEncoding("utf-8");try {Thread.sleep(10000); //测并发访问} catch (InterruptedException e) {e.printStackTrace();}String username = request.getParameter("username");//form valueString fv = request.getParameter("sessionvalue");//session valueString sv = (String)request.getSession().getAttribute("sessionvalue");if(sv != null && !"".equals(sv) && fv.equals(sv)){request.getSession().removeAttribute("sessionvalue");System.out.println("注册者:"+username);}else{response.getWriter().write("不要重复提交");}}}


0 0
原创粉丝点击