为了账号安全,请及时绑定邮箱和手机立即绑定

Filterpost请求中文字符编码的过滤器 --学习笔记

标签:
Java

java代码:

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;public class LoginServlet1 extends HttpServlet {    public void doPost(HttpServletRequest request, HttpServletResponse response)            throws ServletException, IOException {        //request.setCharacterEncoding("utf-8");        String username = request.getParameter("username");        String passwrod = request.getParameter("passwrod");        //显示        response.getWriter().write("用户名 :"+username);        response.getWriter().write("密码:"+passwrod);    }}

Filter代码

import java.io.IOException;import javax.servlet.Filter;import javax.servlet.FilterChain;import javax.servlet.FilterConfig;import javax.servlet.ServletException;import javax.servlet.ServletRequest;import javax.servlet.ServletResponse;public class FilterDemo3 implements Filter {    private FilterConfig filterConfig;    public FilterDemo3()    {    }    public void init(FilterConfig filterConfig) throws ServletException {        this.filterConfig = filterConfig;    }    //Web容器调用    public void doFilter(ServletRequest request, ServletResponse response,FilterChain chain) throws IOException, ServletException {        String encoding = filterConfig.getInitParameter("encoding");        //POST请求编码设置        request.setCharacterEncoding(encoding);        //响应编码设置        response.setContentType("text/html;charset="+encoding);        chain.doFilter(request,response);    }    public void destroy() {    }}

login.jsp

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html>  <head>    <title>登陆页面</title>    <meta http-equiv="pragma" content="no-cache">    <meta http-equiv="cache-control" content="no-cache">    <meta http-equiv="expires" content="0">        <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">    <meta http-equiv="description" content="This is my page">    <!--    <link rel="stylesheet" type="text/css" href="styles.css">    -->  </head>  <body>    <form action="${pageContext.request.contextPath}/LoginServlet1" method="post">       <table border="1" align="center">       <caption>用户登陆</caption>          <tr>            <th>用户名</th>            <td><input type="text" name="username"/>            </td>          </tr>          <tr>            <th>用户密码</th>            <td><input type="password" name="passwrod"/>            </td>          </tr>           <tr>              <td colspan="5" align="center">               <input type="submit" value="提交"/>              </td>           </tr>               </table>    </form>  </body></html>

web.xml

<filter>        <filter-name>FilterDemo3</filter-name>        <filter-class>cn.web.servlet.filter.FilterDemo3</filter-class>        <init-param>           <param-name>encoding</param-name>           <param-value>UTF-8</param-value>        </init-param>    </filter>    <filter-mapping>        <filter-name>FilterDemo3</filter-name>        <url-pattern>/*</url-pattern>    </filter-mapping>

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消