JAVA WEB 过滤器实验报告

2019-08-29 22:29

南昌大学实验报告

学生姓名: 张 志 煋 学 号: 7101011001 专业班级: 网工121班 实验类型:□ 验证 □ 综合 □ 设计 □ 创新 实验日期: 2015-4-29 实验成绩:

一、实验项目名称

Filter过滤器习题项目

二、实验目的

掌握过滤器的基本原理,熟悉它的功能

三、实验基本原理

本实验主要运用Filter过滤器,在实际开发中,过滤器可以用来多用户进行统一的身份判断、IP访问限制,用户发送请求的字符编码转换、对请求和响应进行加密和解密、记录用户登陆日志等。

四、实验步骤

1、运行My Eclipse,打开已经部署好的的TEST项目;

2、新建一个com.sanqing.filter包,包中编写一个CharFilter.java的过滤器,可过滤

字符“晕”;

3、编写一个CharForm.jsp的文件,供用户输入任意文字;

4、编写一个SendFailure.jsp.jsp的文件;处理用户输入非法字符”晕”的情况。 5、编写一个ShowContent.jsp的文件;显示用户正常输入的字符。 6、新建一个TestCharacter的web工程,部署。

7、新建一个com.sanqing.filter包,包中编写一个CharacterFilter,java的过滤器,实

现字符编码的统一设置;

8、编写一个CharacterForm.jsp的文件,供用户输入任意文字;

9、编写一个ShowContent.jsp的文件;经过滤器的字符编码转换后显示用户输入的

字符。

10、启动Tomcat服务器,打开浏览器,在地址栏中输入对应的URL:测试并观察

结果。

五、实验数据及处理结果

1. com.sanqing.filter.CharFilter.java的程序代码如下:

package com.sanqing.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;

public class CharFilter implements Filter{ }

//初始化方法

public void init(FilterConfig filterConfig) throws ServletException { System.out.println(\非法文字过滤器初始化\); }

//过滤方法

public void doFilter(ServletRequest req, ServletResponse res, }

//销毁方法

public void destroy() {

System.out.println(\非法文字过滤器销毁\); }

FilterChain chain) throws IOException, ServletException { HttpServletRequest request = (HttpServletRequest)req; //设置参数编码格式

request.setCharacterEncoding(\);

//接受聊天内容

String charContent = request.getParameter(\); if(charContent != null) { }

if(charContent.indexOf(\晕\)== -1) { chain.doFilter(req, res); } else { }

chain.doFilter(req, res);

request.getRequestDispatcher(\).forward(req,

res);

} else {

2. CharForm.jsp的程序代码如下:

<%@ page language=\ contentType=\%>

用户表单

<%--表单,提交方式为post-,提交到DoGetDemo--%>

3. SendFailure.jsp.jsp的程序代码如下:

<%@ page language=\ contentType=\%>

发言失败

发言失败,含有非法文字

4. ShowContent.jsp的程序代码如下:

<%@ page language=\ contentType=\%>

发言成功

发言成功

用户名:${param.username}

发言内容:${param.charContent}

5. com.sanqing.filter.CharacterFilter,java的程序代码如下:

package com.sanqing.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;

public class CharacterFilter implements Filter{ }

//初始化方法

public void init(FilterConfig filterConfig) throws ServletException { System.out.println(\字符编码过滤器初始化\); }

//过滤方法

public void doFilter(ServletRequest req, ServletResponse res, }

//销毁方法

public void destroy() {

System.out.println(\字符编码过滤器销毁\); }

FilterChain chain) throws IOException, ServletException { HttpServletRequest request = (HttpServletRequest)req; //设置参数编码格式

//request.setCharacterEncoding(\ //request.setCharacterEncoding(\ //request.setCharacterEncoding(\ //request.setCharacterEncoding(\ //request.setCharacterEncoding(\ request.setCharacterEncoding(\); chain.doFilter(req, res);

6. CharacterForm.jsp的程序代码如下:

<%@ page language=\ contentType=\%>

测试字符编码

<%--表单,提交方式为post-,提交到DoGetDemo--%>

7. ShowContent.jsp的程序代码如下:

<%@ page language=\ contentType=\%>

测试字符编码

经过字符编码后的内容:${param.characterContent}

8. 处理结果如下:

(GBK字符编码)

(UTF-8字符编码)

(US-ASCII字符编码)

(ISO-8859-1字符编码)

(gb2312字符编码)

六、实验总结

通过该实验,我基本掌握了Filter过滤器的基础知识,Filter同Servlet类一样,也是一个Java类,所以其添加方式和普通的Java类完全相同。自定义的Filter类必须实现Filter接口中定义的init()方法、doFilter()方法和|destroy()方法。如果要想使定义的Filter起作用,还必须在web.xml文件中配置该Filter。另外,Filter是在服务器启动时就加载并完成初始化,在加载和初始化完成后,再次调用时不再需要进行初始化操作。只有在重新加载项目或者重启服务器后才需要重新初始化。


JAVA WEB 过滤器实验报告.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:MCGS脚本驱动开发工具使用指导手册

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: