a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁 > 編程 > 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程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 国产免费视频一区二区三区 | 91国自产区一二三区 | 色婷婷一区二区 | 日日干夜夜干 | 国产精品福利久久 | 国产成人精品999在线观看 | 日本在线一区二区三区 | 狠狠操综合网 | 久久精品91| 污网站观看 | 99精品不卡 | 日韩精品一二三区 | 999免费视频 | 日韩在线视频一区 | 成人精品久久久 | 性高湖久久久久久久久aaaaa | 国产精品1区2区 | 亚洲精彩视频在线观看 | 欧美精品久久久久久久久 | 国产一区在线视频 | 国产视频一区在线观看 | 亚洲永久免费视频 | 久久久久久高潮国产精品视 | 成年人黄色免费视频 | 黑人巨大精品欧美一区二区 | 亚洲黄色大片 | 午夜视频网址 | 一区二区三区四区免费观看 | 久久精品国产99 | 国产视频福利在线 | 久久生活片 | 午夜免费福利在线 | 欧美视频二区 | 欧美日本亚洲 | 亚洲欧美国产精品久久 | 青青草一区 | 国产综合亚洲精品一区二 | 欧美午夜寂寞影院 | 91亚洲精品视频 | 黄色毛片视频网站 | 无码一区二区三区视频 |