麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > JSP > 正文

JSP使用自定義標簽防止表單重復提交的方法

2024-09-05 00:22:17
字體:
來源:轉載
供稿:網友

這篇文章主要介紹了JSP使用自定義標簽防止表單重復提交的方法,以實例形式較為詳細的分析了JSP基于自定義標簽防止表單重復提交的具體步驟與實現方法,具有一定參考借鑒價值,需要的朋友可以參考下

本文實例講述了JSP使用自定義標簽防止表單重復提交的方法。分享給大家供大家參考。具體如下:

1. 編寫servelt:

 

 
  1. package cn.itcast.apsliyuan.web.servlet; 
  2. import java.io.IOException; 
  3. import javax.servlet.ServletException; 
  4. import javax.servlet.http.HttpServlet; 
  5. import javax.servlet.http.HttpServletRequest; 
  6. import javax.servlet.http.HttpServletResponse; 
  7. public class LoginServet extends HttpServlet { 
  8. /** 
  9. * 反序列化 
  10. */ 
  11. private static final long serialVersionUID = 4960707156159691747L; 
  12. @Override 
  13. public void doPost(HttpServletRequest requset, 
  14. HttpServletResponse response) throws ServletException, IOException { 
  15. // 獲得輸入框中的值 
  16. String token = requset.getParameter("tokenName"); 
  17. // 獲得session中的值 
  18. String sessionToken = (String) requset.getSession().getAttribute( 
  19. "token"); 
  20. if (token.equals(sessionToken)) { 
  21. response.getWriter().print("保存成功"); 
  22. requset.getSession().removeAttribute("token");//為了保證session中的值不重復,所以移除 
  23. else { 
  24. response.getWriter().print("對不起不能重復提交"); 

2. 編寫自定義標簽的類:

 

 
  1. package cn.itcast.apsliyuan.tag; 
  2. import java.io.IOException; 
  3. import java.util.UUID; 
  4. import javax.servlet.jsp.JspException; 
  5. import javax.servlet.jsp.tagext.TagSupport; 
  6. public class LoginTokenTag extends TagSupport{ 
  7. /** 
  8. * 凡序列化 
  9. */ 
  10. private static final long serialVersionUID = -1815168785364991254L; 
  11. @Override 
  12. public int doStartTag() throws JspException { 
  13. // TODO Auto-generated method stub 
  14. //得到uuid 
  15. String uuid=UUID.randomUUID().toString().replace("-",""); 
  16. //得到session,pageContext 是域對象同樣也是工具類 
  17. pageContext.getSession().setAttribute("token",uuid); 
  18. String html="<input type='text' name='tokenName' readonly='readonly' value="+uuid+">"
  19. try { 
  20. pageContext.getOut().print(html); 
  21. catch (IOException e) { 
  22. // TODO Auto-generated catch block 
  23. e.printStackTrace(); 
  24. return EVAL_BODY_INCLUDE; 

3. 編寫×.tld文件:

 

 
  1. <?xml version="1.0" encoding="UTF-8" ?> 
  2. <taglib xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
  3. xsi:schemaLocation="http://java.sun.com/xml/ns/javaee  
  4. http://java.sun.com/xml/ns/javaee/web-jsptaglibrary_2_1.xsd" 
  5. version="2.1"
  6. <!-- 定義版本 --> 
  7. <tlib-version>1.0</tlib-version> 
  8. <!-- 定義名字 --> 
  9. <short-name>apsliyuan</short-name> 
  10. <!-- 定義uri --> 
  11. <uri>http://my.oschina.net/aps</uri> 
  12. <tag> 
  13. <name>loginTokenTag</name> 
  14. <tag-class>cn.itcast.apsliyuan.tag.LoginTokenTag</tag-class
  15. <body-content>JSP</body-content> 
  16. </tag> 
  17. </taglib> 

4. jsp中的代碼:

 

 
  1. <%@ page language="java" contentType="text/html; charset=UTF-8" 
  2. pageEncoding="UTF-8"%> 
  3. <%@taglib uri="http://my.oschina.net/aps" prefix="aps" %> 
  4. <%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> 
  5. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"
  6. <html> 
  7. <head> 
  8. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"
  9. <title>index.jsp</title> 
  10. </head> 
  11. <body> 
  12. <form action="${pageContext.request.contextPath}/server/Login" method="post"
  13. <aps:loginTokenTag/> 
  14. <input type="submit" value="Login"/> 
  15. </form> 
  16. </body> 
  17. </html> 

5. 防止亂碼的攔截器:

 

 
  1. package cn.itcast.apsliyuan.filter; 
  2. import java.io.IOException; 
  3. import javax.servlet.Filter; 
  4. import javax.servlet.FilterChain; 
  5. import javax.servlet.FilterConfig; 
  6. import javax.servlet.ServletException; 
  7. import javax.servlet.ServletRequest; 
  8. import javax.servlet.ServletResponse; 
  9. import javax.servlet.http.HttpServletRequest; 
  10. import javax.servlet.http.HttpServletResponse; 
  11. public class UncodeFilter implements Filter { 
  12. public void init(FilterConfig filterConfig) throws ServletException { 
  13. // TODO Auto-generated method stub 
  14. System.out.println("攔截完成"); 
  15. public void doFilter(ServletRequest req, ServletResponse res, 
  16. FilterChain chain) throws IOException, ServletException { 
  17. HttpServletRequest request=(HttpServletRequest) req; 
  18. HttpServletResponse response=(HttpServletResponse) res; 
  19. request.setCharacterEncoding("UTF-8"); 
  20. response.setContentType("text/html;charset=UTF-8"); 
  21. chain.doFilter(request, response); 
  22. public void destroy() { 
  23. // TODO Auto-generated method stub 

6. web.xml中的配置:

 

 
  1. <?xml version="1.0" encoding="UTF-8"?> 
  2. <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
  3. xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" 
  4. xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" 
  5. id="WebApp_ID" version="2.5"
  6. <display-name>Tag</display-name> 
  7. <welcome-file-list> 
  8. <welcome-file>index.html</welcome-file> 
  9. <welcome-file>index.htm</welcome-file> 
  10. <welcome-file>index.jsp</welcome-file> 
  11. <welcome-file>default.html</welcome-file> 
  12. <welcome-file>default.htm</welcome-file> 
  13. <welcome-file>default.jsp</welcome-file> 
  14. </welcome-file-list> 
  15. <servlet> 
  16. <servlet-name>loginServlet</servlet-name> 
  17. <servlet-class>cn.itcast.apsliyuan.web.servlet.LoginServet</servlet-class
  18. </servlet> 
  19. <servlet-mapping> 
  20. <servlet-name>loginServlet</servlet-name> 
  21. <url-pattern>/server/Login</url-pattern> 
  22. </servlet-mapping> 
  23. <filter> 
  24. <filter-name>UncodeFilter</filter-name> 
  25. <filter-class>cn.itcast.apsliyuan.filter.UncodeFilter</filter-class
  26. </filter> 
  27. <filter-mapping> 
  28. <filter-name>UncodeFilter</filter-name> 
  29. <url-pattern>/*</url-pattern> 
  30. </filter-mapping> 
  31. </web-app> 

希望本文所述對大家的JSP程序設計有所幫助。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 草碰人人| 久久情爱网| 在线播放一区二区三区 | 免费看成年人视频在线 | 久久国产精品久久久久 | 视频在线色| 国产精品自在线拍 | 99re热视频这里只精品 | 精品人伦一区二区三区蜜桃网站 | 日本一区二区免费在线观看 | 午夜视频在线 | 九九热在线精品视频 | 日本欧美一区二区三区在线播 | 国产婷婷一区二区三区 | 国产亚洲欧美一区久久久在 | 牛牛碰在线视频 | 国产一级一片免费播放 | 黄色一级片免费观看 | 国产刺激高潮av | 亚洲网站一区 | 女人裸体让男人桶全过程 | 国产精品18久久久久久久 | 91久久久久久亚洲精品禁果 | 亚洲国产午夜精品 | 亚洲人成中文字幕在线观看 | 在线a免费观看 | 成人黄色网战 | 国产无限资源在线观看 | 99国产精品欲a | 色婷婷一区二区三区 | 午夜天堂在线视频 | 原来神马影院手机版免费 | 在线播放黄色片 | av成人一区二区 | 久久亚洲美女视频 | 国产一区二区免费看 | 色视频在线观看 | v11av在线视频成人 | 国产精品刺激对白麻豆99 | 4p嗯啊巨肉寝室调教男男视频 | 31freehdxxxx欧美 |