精华内容
下载资源
问答
  • Servlet API中提供了一个Filter接口(javax.servlet.Filter),开发web应用时,如果编写的Java类实现了这个接口,则把这个Java类称之为过滤器Filter。通过Filter技术,开发人员可以实现用户在访问某个目标资源之前,对...

    什么是过滤器?

    在Java Web中,过滤器即Filter。Servlet API中提供了一个Filter接口(javax.servlet.Filter),开发web应用时,如果编写的Java类实现了这个接口,则把这个Java类称之为过滤器Filter。通过Filter技术,开发人员可以实现用户在访问某个目标资源之前,对访问的请求和响应进行拦截。简单说,就是可以实现web容器对某资源的访问前截获进行相关的处理,还可以在某资源向web容器返回响应前进行截获进行处理。

    创建一个Filter的步骤

    1.创建一个Filter处理类(实现javax.servlet.Filter接口)

    2.在web.xml文件中配置Filter

    Filter执行流程

    1.Filter对用户的请求进行预处理

    2.处理好后将请求交给Servlet处理并生成响应

    3.最后Filter再对服务器响应进行后处理

    字符编码过滤器

    CharacterFilter.java

    package org.LabReserve.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 CharacterFilter implements Filter { //实现Filter接口

    private String character; //保存字符编码的类型

    @Override

    public void destroy() { //在Filter销毁前,完成某些资源的回收

    }

    @Override

    public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse,

    FilterChain filterChain) throws IOException, ServletException {

    servletRequest.setCharacterEncoding("utf-8"); //可以直接设置编码

    servletResponse.setCharacterEncoding(character); //也可以读取初始化的参数character

    filterChain.doFilter(servletRequest, servletResponse); //转到下一个过滤器

    }

    @Override

    public void init(FilterConfig fc) throws ServletException { //完成Filter的初始化

    //读取web.xml中Filter配置的初始化参数

    character = fc.getInitParameter("character");

    }

    }

    web.xml文件中的配置

    CharacterFilter

    org.LabReserve.filter.CharacterFilter

    character

    utf-8

    CharacterFilter

    /*

    登录验证过滤器

    LoginFilter.java

    package org.LabReserve.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;

    import javax.servlet.http.HttpServletRequest;

    import javax.servlet.http.HttpServletResponse;

    import javax.servlet.http.HttpSession;

    public class LoginFilter implements Filter {

    @Override

    public void destroy() {

    }

    @Override

    public void doFilter(ServletRequest servletRequest,

    ServletResponse servletResponse, FilterChain filterChain)

    throws IOException, ServletException {

    // 转换为HTTP请求对象

    HttpServletRequest request = (HttpServletRequest) servletRequest;

    // 转化为HTTP响应对象

    HttpServletResponse response = (HttpServletResponse) servletResponse;

    // 获得请求对应的session对象

    HttpSession session = request.getSession();

    // 获得用户请求的URI

    String path = request.getRequestURI();

    // 不用验证登录过滤的页面

    String[] noCheckPages = { "index.jsp","findPassword.jsp",

    "LoginServlet","UserServlet",

    "css","images","js"};

    // int indexOf(int ch) 返回指定字符在此字符串中第一次出现处的索引。没找到则返回-1

    for (int i = 0; i < noCheckPages.length; ++i) {

    if (path.indexOf(noCheckPages[i]) > -1) {

    // 转到下一个过滤器

    filterChain.doFilter(servletRequest, servletResponse);

    return; //不再过滤,防止页面重定向循环

    }

    }

    // 如果session为null,说明用户是第一次访问

    if (session.getAttribute("userId") != null

    || session.getAttribute("teacherId") != null

    || session.getAttribute("adminId") != null) {

    // 转到下一个过滤器

    filterChain.doFilter(request, response);

    } else {

    // 重新定向到首页

    response.sendRedirect("index.jsp");

    return; //不再过滤,防止页面重定向循环

    }

    }

    @Override

    public void init(FilterConfig arg0) throws ServletException {

    }

    }

    web.xml文件配置

    LoginFilter

    org.LabReserve.filter.LoginFilter

    LoginFilter

    /*

    展开全文
  • Java Web中,过滤器即Filter。Servlet API中提供了一个Filter接口(javax.servlet.Filter)。开发web应用时,假设编写的Java类实现了这个接口,则把这个Java类称之为过滤器Filter。通过Filter技术,开发者能够实现...

    什么是过滤器?

    在Java Web中,过滤器即Filter。Servlet API中提供了一个Filter接口(javax.servlet.Filter)。开发web应用时,假设编写的Java类实现了这个接口,则把这个Java类称之为过滤器Filter。

    通过Filter技术,开发者能够实现用户在訪问某个目标资源之前,对訪问的请求和响应进行拦截。简单说。就是能够实现web容器对某资源的訪问前截获进行相关的处理,还能够在某资源向web容器返回响应前进行截获进行处理。

    创建一个Filter的步骤

    1.创建一个Filter处理类(实现javax.servlet.Filter接口)

    2.在web.xml文件里配置Filter

    Filter运行流程

    1.Filter对用户的请求进行预处理

    2.处理好后将请求交给Servlet处理并生成响应

    3.最后Filter再对server响应进行后处理

    字符编码过滤器

    CharacterFilter.java

    package org.LabReserve.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 CharacterFilter implements Filter { //实现Filter接口

    private String character; //保存字符编码的类型

    @Override

    public void destroy() { //在Filter销毁前。完毕某些资源的回收

    }

    @Override

    public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse,

    FilterChain filterChain) throws IOException, ServletException {

    servletRequest.setCharacterEncoding("utf-8"); //能够直接设置编码

    servletResponse.setCharacterEncoding(character); //也能够读取初始化的參数character

    filterChain.doFilter(servletRequest, servletResponse); //转到下一个过滤器

    }

    @Override

    public void init(FilterConfig fc) throws ServletException { //完毕Filter的初始化

    //读取web.xml中Filter配置的初始化參数

    character = fc.getInitParameter("character");

    }

    }

    web.xml文件里的配置

    CharacterFilter

    org.LabReserve.filter.CharacterFilter

    character

    utf-8

    CharacterFilter

    /*

    登录验证过滤器

    LoginFilter.java

    package org.LabReserve.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;

    import javax.servlet.http.HttpServletRequest;

    import javax.servlet.http.HttpServletResponse;

    import javax.servlet.http.HttpSession;

    public class LoginFilter implements Filter {

    @Override

    public void destroy() {

    }

    @Override

    public void doFilter(ServletRequest servletRequest,

    ServletResponse servletResponse, FilterChain filterChain)

    throws IOException, ServletException {

    // 转换为HTTP请求对象

    HttpServletRequest request = (HttpServletRequest) servletRequest;

    // 转化为HTTP响应对象

    HttpServletResponse response = (HttpServletResponse) servletResponse;

    // 获得请求相应的session对象

    HttpSession session = request.getSession();

    // 获得用户请求的URI

    String path = request.getRequestURI();

    // 不用验证登录过滤的页面

    String[] noCheckPages = { "index.jsp","findPassword.jsp",

    "LoginServlet","UserServlet",

    "css","images","js"};

    // int indexOf(int ch) 返回指定字符在此字符串中第一次出现处的索引。没找到则返回-1

    for (int i = 0; i < noCheckPages.length; ++i) {

    if (path.indexOf(noCheckPages[i]) > -1) {

    // 转到下一个过滤器

    filterChain.doFilter(servletRequest, servletResponse);

    return; //不再过滤,防止页面重定向循环

    }

    }

    // 假设session为null,说明用户是第一次訪问

    if (session.getAttribute("userId") != null

    || session.getAttribute("teacherId") != null

    || session.getAttribute("adminId") != null) {

    // 转到下一个过滤器

    filterChain.doFilter(request, response);

    } else {

    // 又一次定向到首页

    response.sendRedirect("index.jsp");

    return; //不再过滤,防止页面重定向循环

    }

    }

    @Override

    public void init(FilterConfig arg0) throws ServletException {

    }

    }

    web.xml文件配置

    LoginFilter

    org.LabReserve.filter.LoginFilter

    LoginFilter

    /*

    展开全文
  • 开发web应用时,假设编写的Java类实现了这个接口,则把这个Java类称之为过滤器Filter。通过Filter技术,开发者能够实现用户在訪问某个目标资源之前,对訪问的请求和响应进行拦截。简单说。就是能够实现w...

    什么是过滤器?

    在Java Web中,过滤器即Filter。Servlet API中提供了一个Filter接口(javax.servlet.Filter)。开发web应用时,假设编写的Java类实现了这个接口,则把这个Java类称之为过滤器Filter。

    通过Filter技术,开发者能够实现用户在訪问某个目标资源之前,对訪问的请求和响应进行拦截。简单说。就是能够实现web容器对某资源的訪问前截获进行相关的处理,还能够在某资源向web容器返回响应前进行截获进行处理。

    创建一个Filter的步骤

    1.创建一个Filter处理类(实现javax.servlet.Filter接口)
    2.在web.xml文件里配置Filter

    Filter运行流程

    1.Filter对用户的请求进行预处理
    2.处理好后将请求交给Servlet处理并生成响应
    3.最后Filter再对server响应进行后处理

    字符编码过滤器

    CharacterFilter.java

    package org.LabReserve.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 CharacterFilter implements Filter {   //实现Filter接口
        private String character;   //保存字符编码的类型
    
        @Override
        public void destroy() {   //在Filter销毁前。完毕某些资源的回收
    
        }
    
        @Override
        public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse,
                FilterChain filterChain) throws IOException, ServletException {
            servletRequest.setCharacterEncoding("utf-8");           //能够直接设置编码
            servletResponse.setCharacterEncoding(character);    //也能够读取初始化的參数character
            filterChain.doFilter(servletRequest, servletResponse);   //转到下一个过滤器
        }
    
        @Override
        public void init(FilterConfig fc) throws ServletException {   //完毕Filter的初始化
            //读取web.xml中Filter配置的初始化參数
            character = fc.getInitParameter("character");
        }
    
    }
    

    web.xml文件里的配置

    <!-- 定义一个Filter -->
        <filter>
            <!-- Filter的名字 -->
            <filter-name>CharacterFilter</filter-name>
            <!-- Filter的实现类 -->
            <filter-class>org.LabReserve.filter.CharacterFilter</filter-class>
            <!-- 初始化參数 -->
            <init-param>
                <!-- 參数名 -->
                <param-name>character</param-name>
                <!-- 參数值,编码为utf-8 -->
                <param-value>utf-8</param-value>
            </init-param>
        </filter>
        <!-- 定义Filter要拦截的url地址 -->
        <filter-mapping>
            <!-- Filter的名字 -->
            <filter-name>CharacterFilter</filter-name>
            <!-- 要拦截的url,这里是所有拦截 -->
            <url-pattern>/*</url-pattern>
        </filter-mapping>

    登录验证过滤器

    LoginFilter.java

    package org.LabReserve.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;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import javax.servlet.http.HttpSession;
    
    public class LoginFilter implements Filter {
    
        @Override
        public void destroy() {
    
        }
    
        @Override
        public void doFilter(ServletRequest servletRequest,
                ServletResponse servletResponse, FilterChain filterChain)
                throws IOException, ServletException {
            // 转换为HTTP请求对象
            HttpServletRequest request = (HttpServletRequest) servletRequest;
            // 转化为HTTP响应对象
            HttpServletResponse response = (HttpServletResponse) servletResponse;
            // 获得请求相应的session对象
            HttpSession session = request.getSession();
    
            // 获得用户请求的URI
            String path = request.getRequestURI();
    
            // 不用验证登录过滤的页面
            String[] noCheckPages = { "index.jsp","findPassword.jsp",
                    "LoginServlet","UserServlet",
                    "css","images","js"};
    
            // int indexOf(int ch) 返回指定字符在此字符串中第一次出现处的索引。没找到则返回-1
            for (int i = 0; i < noCheckPages.length; ++i) {
                if (path.indexOf(noCheckPages[i]) > -1) {
                    // 转到下一个过滤器
                    filterChain.doFilter(servletRequest, servletResponse);
                    return;   //不再过滤,防止页面重定向循环
                }
            }
    
            // 假设session为null,说明用户是第一次訪问
            if (session.getAttribute("userId") != null
                    || session.getAttribute("teacherId") != null
                    || session.getAttribute("adminId") != null) {
                // 转到下一个过滤器
                filterChain.doFilter(request, response);
            } else {
                // 又一次定向到首页
                response.sendRedirect("index.jsp");
                return;   //不再过滤,防止页面重定向循环
            }
        }
    
        @Override
        public void init(FilterConfig arg0) throws ServletException {
    
        }
    
    }
    

    web.xml文件配置

    <filter>
            <filter-name>LoginFilter</filter-name>
            <filter-class>org.LabReserve.filter.LoginFilter</filter-class>
        </filter>
        <filter-mapping>
            <filter-name>LoginFilter</filter-name>
            <url-pattern>/*</url-pattern>
        </filter-mapping>

    參考链接:http://lavasoft.blog.51cto.com/62575/275586/
    http://www.cnblogs.com/lyp3314/archive/2012/11/03/2752097.html

    转载于:https://www.cnblogs.com/mfmdaoyou/p/6743027.html

    展开全文
  • Servlet字符编码过滤器

    2015-04-18 21:31:00
    Java Web程序开发中,由于Web容器内部使用编码格式并不支持中文字符集,所以,处理浏览器请求中的中文数据就会出现乱码的现象。由于Web容器使用了ISO-8859-1的编码格式,所以在Web应用的业务处理中也会使用ISO-...

    在Java Web程序开发中,由于Web容器内部使用编码格式并不支持中文字符集,所以,处理浏览器请求中的中文数据就会出现乱码的现象。由于Web容器使用了ISO-8859-1的编码格式,所以在Web应用的业务处理中也会使用ISO-8859-1编码格式。虽然浏览器提交的请求使用的是中文编码格式UTF-8,但经过业务处理中的ISO-8859-1编码,仍然会出现中文乱码现象。解决此问题的方法非常简单,在业务处理中重新指定中文字符集进行编码即可解决。在实际的开发过程中,如果通过每一个业务处理指定中文字符集编码,则操作过于繁琐,而且容易遗漏某一个业务中的字符编码设置;如果通过过滤器来处理字符编码,就可以做到简单又万无一失。

    例1. 实现图书信息的添加功能,并创建字符编码过滤器,避免中文乱码现象的产生。

    (1)创建字符编码过滤器对象,其名称为CharactorFilter类。该类实现了javax.servlet.Filter接口,并在doFilter()方法中对请求中的字符编码格式进行设置,关键代码如下:

     

    package com.cn.gao;
    
    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 CharactorFilter implements Filter {
        String encoding = null;  //字符编码
        
        public void destroy() {
            encoding = null;
    
        }
    
        public void doFilter(ServletRequest request, ServletResponse response,
                FilterChain chain) throws IOException, ServletException {
            if(encoding != null){
                request.setCharacterEncoding(encoding);  //设置request的编码格式
                response.setContentType("text/html;charset="+encoding); //设置response字符编码
            }
            chain.doFilter(request, response);  //传递给下一个过滤器
        }
    
        public void init(FilterConfig filterConfig) throws ServletException {
            encoding = filterConfig.getInitParameter("encoding"); //获取初始化参数
    
        }
    
    }

    上面代码中的encoding是CharactorFilter类定义的字符编码格式成员变量,该变量在过滤器的初始化方法init()中被赋值,它的值是通过FilterConfig对象读取配置文件中的初始化参数获取的。

    在创建了过滤器对象之后,还需要对过滤器进行一定的配置才可以正常使用。过滤器CharactorFilter的配置代码如下:

    <?xml version="1.0" encoding="gbk"?>
    <web-app version="2.5" 
        xmlns="http://java.sun.com/xml/ns/javaee" 
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
        xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
        http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
      <welcome-file-list>
        <welcome-file>index.jsp</welcome-file>
      </welcome-file-list>
      <!-- 过滤器声明 -->
      <filter>
          <filter-name>CharactorFilter</filter-name>
          <filter-class>com.cn.gao.CharactorFilter</filter-class>
          <init-param>
              <param-name>encoding</param-name>
              <param-value>gbk</param-value>
          </init-param>
      </filter>
          <filter-mapping>
              <filter-name>CharactorFilter</filter-name>  
              <url-pattern>/*</url-pattern>    
          </filter-mapping>
    </web-app>

    在过滤器CharactorFilter的配置声明中,实例将它的初始化参数encoding的值设置为GB18030,它与JSP页面的编码格式相同,支持中文。

    技巧:在web.xml文件中配置过滤器,其过滤器的URL映射可以使用正则表达式进行配置,如实例中使用“/*”来匹配所有请求。

    (2)创建名称为AddServlet的类,该类继承HttpServlet,是处理添加图书信息请求的Servlet对象。关键代码如下:

     

    package com.cn.gao;
    
    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 AddServlet extends HttpServlet {
    
        private static final long serialVersionUID = 1L;
        
        //处理GET请求
        public void doGet(HttpServletRequest request, HttpServletResponse response)
                throws ServletException, IOException {
    
            doPost(request, response);
        }
    
        //处理POST请求
        public void doPost(HttpServletRequest request, HttpServletResponse response)
                throws ServletException, IOException {
            PrintWriter out = response.getWriter();
            String id = request.getParameter("id"); //获取图书编号
            String name = request.getParameter("name"); //获取图书名称
            String author = request.getParameter("author"); //获取作者
            String price = request.getParameter("price"); //获取价格
            out.print("<h2>图书信息添加成功</h2><hr>"); //输出图书信息
            out.print("图书编号:"+id+"<br>");
            out.print("图书名称:"+name+"<br>");
            out.print("作       者:"+author+"<br>");
            out.print("价       格:"+price+"<br>");
            out.flush();  //刷新流
            out.close();  //关闭流
        }
    
    }

    技巧:在Java Web程序开发中,通常情况下,Servlet所处理的请求类型都是GET或POST,所以可以在doGet()方法中调用doPost()方法,把业务处理代码写到doPost()方法中,或在doPost()方法中调用doGet()方法,把业务处理代码写到doGet()方法中,无论Servlet接收的请求类型是GET还是POST,Servlet都对其进行处理。

    在编写了Servlet类之后,还需要在web.xml文件中对Servlet进行配置,其配置代码如下:

    <servlet>
        <description>This is the description of my J2EE component</description>
        <display-name>This is the display name of my J2EE component</display-name>
        <servlet-name>AddServlet</servlet-name>
        <servlet-class>com.cn.gao.AddServlet</servlet-class>
      </servlet>
    
      <servlet-mapping>
        <servlet-name>AddServlet</servlet-name>
        <url-pattern>/AddServlet</url-pattern>
      </servlet-mapping>

    (3)创建名称为index1.jsp的页面,它是程序中的主页。该页面主要用来放置添加图书信息的表单,其关键代码如下:

    <%@ page language="java" import="java.util.*" pageEncoding="GB18030"%>
    <%
    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>
        <base href="<%=basePath%>">
        
        <title>My JSP 'index1.jsp' starting page</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="AddServlet" method="post">
            <table align="center" border="1" width="350">
                <tr>
                    <td class="2" align="center" colspan="2">
                        <h2>添加图书信息</h2>
                    </td>
                </tr>
                <tr>
                    <td align="right">图书编号:</td>
                    <td>
                        <input type="text" name="id"/>
                    </td>
                </tr>
                <tr>
                    <td align="right">图书名称:</td>
                    <td>
                        <input type="text" name="name"/>
                    </td>
                </tr>
                <tr>
                    <td align="right">作        者:</td>
                    <td>
                        <input type="text" name="author"/>
                    </td>
                </tr>
                <tr>
                    <td align="right">价        格:</td>
                    <td>
                        <input type="text" name="price"/>
                    </td>
                </tr>
                <tr>
                    <td class="2" align="center" colspan="2">
                        <input type="submit" name="Submit" value="添  加"/>
                    </td>
                </tr>
            </table>
        </form>
      </body>
    </html>

    编写完成index1.jsp页面后,即可部署发布程序,运行后界面如下:

    单击添加按钮,效果如下:

     

    展开全文
  • 今天研究别人的代码的时候突然发现spring的org.springframework....不过那个看起来有点麻烦,所以下面的这个过滤器比较简单实用 java 代码 [code="java"] public class CharacterEncodingFilter impleme...
  • 一个简单字符编码格式过滤器

    千次阅读 2009-01-09 17:45:00
    import java.io.IOException;import javax.servlet.Filter;import javax.servlet.FilterChain;import javax.servlet.FilterConfig;import javax.servlet.ServletException;import javax.servlet.Servl
  • %@ page language="java" contentType="text/html" pageEncoding="utf-8" %> <html> <head> </head> <body> <form action="AddServlet" method="post"> <table algin="center...
  • 一、使用Spring进行编码过滤Spring中的字符过滤器可以很方便的为我们解决项目中出现的中文乱码问题,而且使用方法也很简单,只需要在web.xml文件中配置一下该过滤器,设置两个重要的参数(encoding和forceEncoding)...
  • 今天学习《Tomcat与java web开发技术详解》中过滤器一章,也做了实验。第一个例子很简单,结果很容易就出来了,第二个例子有点复杂,... 这说明是字符编码的问题,将filter去掉的时候,网页显示是正常的,加上过滤器...
  • 编码转换过滤器

    2017-04-16 10:45:00
    ------------------siwuxie... Java Web 开发中,经常会遇到乱码的问题,统一字符编码是 解决乱码问题的非常有效的手段 一个简单的编码转换过滤器实例: 使用过滤器对请求中的参数信息进行编码转换 ...
  • spring 编码过滤器

    2012-09-05 00:27:32
    简单很实用的一个过滤器,当前台JSP页面和JAVA代码中使用了不同的字符集进行编码的时候就会出现表单提交的数据或者上传/下载中文名称文件出现乱码的问题,那这个类就可以出场了。 xml filter> filter-...
  • 传智播客java web 学习,过滤器

    千次阅读 2009-02-13 13:11:00
     Filter(过滤器),其基本功能就是对Servlet容器调用Servlet的过程进行拦截,从而在Servlet进行响应的处理的前后实现一些特殊功能。可以设置请求的字符编码防止中文乱码问题,统计静态html页面的访问
  • 过滤器简单应用

    2019-10-01 14:18:28
    过滤器处理字符编码问题(java内部采用Unicoder,处理中文会乱码) index.jsp: <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE ...
  • 在开发java web应用的时候经常会遇到令人头痛的字符编码问题,期中一个就是客户端发送过来的请求的编码在请求头里并没有,开发人员需要在后端自己选择合适的encoding来解析request过来的参数。 这个问题的解决办法...
  • 过滤器一般用于登录权限验证、资源访问权限控制、敏感词汇过滤、字符编码转换等操作,便于代码重用,不必每个servlet中还要进行相应的操作。 Servlet API中提供了一个Filter接口,开发web应用时,如果编写的Java类...
  • 我今天学习了过滤器(filter)的知识,是冯老师讲的课,我做了简单的笔记: Servlet过滤器(Filter):不限定于具体的协议一、 使用拦截设置请求字符编码,过滤非法文字,验证客户是否已经登陆,二、 编写过滤器...
  • 不使用Filter的话,我们有可能需要为每一个网页设置字符编码集,如request.setCharacterEncoding("charsetname");response.setCharacterEncoding("charset")以及response.setContentType("text/html;
  •  很简单很实用的一个过滤器,当前台JSP页面和JAVA代码中使用了不同的字符集进行编码的时候就会出现表单提交的数据或者上传/下载中文名称文件出现乱码的问题,那这个类就可以出场了。  从名字就可以看出来它是个...
  • 如:登录验证、统一编码处理、敏感字符过滤… 快速入门: 步骤: 定义一个类,实现接口Filter 复写方法 配置拦截路径:1.web.xml 2.注解 细节: web.xml配置 <filter> <filter-name>demo1<...
  • 因为使用手工汉化java的class文件比较复杂,通常汉化一个游戏要花费很大精力,本软件的目的就是要简化汉化人的工作量,把原本需要用16进制编辑的查找、编码转换、替换工作交给软件来玩成,这样能大大节省汉化人的...
  • 2017年Java认证考试真题及答案Java具有简单性、面向对象、分布式、健壮性、安全性、平台的独立与可移植性、多线程、动态... Java字符类型采用的是Unicode编码方案,每个Unicode码占用( )个比特位。A.8B.16C.32D.6...

空空如也

空空如也

1 2 3 4 5 ... 10
收藏数 186
精华内容 74
关键字:

java简单字符编码过滤器

java 订阅