java之过滤器
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java之过滤器,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含5238字,纯文字阅读大概需要8分钟。
内容图文
![java之过滤器](/upload/InfoBanner/zyjiaocheng/1126/88588948d31a4df5911071bff054091d.jpg)
form.jsp
![技术分享图片](/img/jia.gif)
![技术分享图片](/img/jian.gif)
1 <% @ page language = " java " contentType = " text/html; charset=UTF-8 " 2 pageEncoding = " UTF-8 " import = " java.util.* " %> 3 <! DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd" > 4 < html > 5 < head > 6 < meta http-equiv ="Content-Type" content ="text/html; charset=UTF-8" > 7 < title >Insert title here</title> 8</head> 9<center><h3>用户登录</h3></center>10<body style="text-align: center;">11<a href="<%=request.getContextPath()%>/CharacterServlet?name= 12 传智播客&password=123456">点击超链接</a>13<form action="<%=request.getContextPath() %>/CharacterServlet" method="get">14<table border="1" width="600px" cellpadding="0" cellspacing="0" align="center">15<tr>16<td height="30px" align="center">用户名:</td>17<td> <input type="text" name="username"/></td>18</tr>19<tr>20<td height="30px" align="center">密 码:</td>21<td> <input type="password" name="password"/></td>22</tr>23<tr>24<td height="30px" colspan="2" align="center">25<input type="submit" value="登录"/> 26<input type="reset" value="重置"/>27</td>28</tr>29</table>30</form>31</body>32</html>
过滤器:
![技术分享图片](/img/jia.gif)
![技术分享图片](/img/jian.gif)
1 /** 2 * 3 */ 4 package cn.itcast.filter; 5 6 import java.io.IOException; 7 import java.io.UnsupportedEncodingException; 8 9 import javax.servlet.Filter; 10 import javax.servlet.FilterChain; 11 import javax.servlet.FilterConfig; 12 import javax.servlet.ServletException; 13 import javax.servlet.ServletRequest; 14 import javax.servlet.ServletResponse; 15 import javax.servlet.http.HttpServlet; 16 import javax.servlet.http.HttpServletRequest; 17 import javax.servlet.http.HttpServletRequestWrapper; 18 import javax.servlet.http.HttpServletResponse; 19 20 import com.sun.org.apache.regexp.internal.recompile; 21 22 /** TODO 23 * @author sqy 24 * 2018年8月5日上午9:46:57 25 */ 26 public class CharacterFilter implements Filter{ 27 @Override 28publicvoid init(FilterConfig filterConfig) throws ServletException { 293031 } 3233 @Override 34publicvoid doFilter(ServletRequest req, ServletResponse resp, 35 FilterChain chain) throws IOException, ServletException { 36 HttpServletRequest request = (HttpServletRequest) req; 37 HttpServletResponse response = (HttpServletResponse) resp; 38//拦截所有请求 解决全站中文编码 39//指定 request 和response的编码40 request.setCharacterEncoding("utf-8"); 41 response.setContentType("text/html;charset=utf-8"); 4243 CharacterRequest characterRequest = new CharacterRequest(request); 44 chain.doFilter(characterRequest, response); 4546 } 4748 @Override 49publicvoid destroy() { 505152 } 5354555657585960} 61/**62 * TODO 针对request对象进行包装 63 * @author sqy 64 * 2018年8月5日上午11:12:18 65*/66class CharacterRequest extends HttpServletRequestWrapper{ 6768public CharacterRequest(HttpServletRequest request) { 69super(request); 70 } 7172public String getParameter(String name){ 73 String value = super.getParameter(name); 74if(value==null){ 75returnnull; 76 } 77 String method = super.getMethod(); 78if("get".equalsIgnoreCase(method)){ 79try { 80 value = new String(value.getBytes("iso-8859-1"),"utf-8"); 81 } catch (UnsupportedEncodingException e) { 82 e.printStackTrace(); 83 } 8485 } 8687return value; 8889 } 9091 }
处理页面请求:
![技术分享图片](/img/jia.gif)
![技术分享图片](/img/jian.gif)
1 /** 2 * 3 */ 4 package cn.itcast.chapter01.servlet; 5 6 import javax.servlet.http.HttpServlet; 7 import javax.servlet.http.HttpServletRequest; 8 import javax.servlet.http.HttpServletResponse; 9 10 /** TODO 11 * @author sqy 12 * 2018年8月5日上午9:42:11 13 */ 14 public class CharacterServlet extends HttpServlet{ 15publicvoid doGet(HttpServletRequest request,HttpServletResponse response){ 16 System.out.println(request.getParameter("username")); 17 System.out.println(request.getParameter("password")); 18 } 1920publicvoid doPost(HttpServletRequest request,HttpServletResponse response){ 21 doGet(request, response); 22 } 23 }
web.xml
![技术分享图片](/img/jia.gif)
![技术分享图片](/img/jian.gif)
1 <? xml version="1.0" encoding="UTF-8" ?> 2 < web-app xmlns:xsi ="http://www.w3.org/2001/XMLSchema-instance" xmlns ="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation ="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id ="WebApp_ID" version ="3.0" > 3 < display-name >chapter01</display-name> 4 5 6<filter> 7<filter-name>CharacterFilter</filter-name> 8<filter-class>cn.itcast.filter.CharacterFilter</filter-class> 9</filter>1011<filter-mapping>12<filter-name>CharacterFilter</filter-name>13<url-pattern>/*</url-pattern>14</filter-mapping>1516<servlet>17<servlet-name>CharacterServlet</servlet-name>18<servlet-class>cn.itcast.chapter01.servlet.CharacterServlet</servlet-class>19</servlet>20<servlet-mapping>21<servlet-name>CharacterServlet</servlet-name>22<url-pattern>/CharacterServlet</url-pattern>23</servlet-mapping>2425</web-app>
原文:https://www.cnblogs.com/sqy-yyr/p/9424905.html
内容总结
以上是互联网集市为您收集整理的java之过滤器全部内容,希望文章能够帮你解决java之过滤器所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。