电机javaweb实验六 Servlet实验二bx1312韩锟45.docx

上传人:b****5 文档编号:30686229 上传时间:2023-08-19 格式:DOCX 页数:12 大小:396.91KB
下载 相关 举报
电机javaweb实验六 Servlet实验二bx1312韩锟45.docx_第1页
第1页 / 共12页
电机javaweb实验六 Servlet实验二bx1312韩锟45.docx_第2页
第2页 / 共12页
电机javaweb实验六 Servlet实验二bx1312韩锟45.docx_第3页
第3页 / 共12页
电机javaweb实验六 Servlet实验二bx1312韩锟45.docx_第4页
第4页 / 共12页
电机javaweb实验六 Servlet实验二bx1312韩锟45.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

电机javaweb实验六 Servlet实验二bx1312韩锟45.docx

《电机javaweb实验六 Servlet实验二bx1312韩锟45.docx》由会员分享,可在线阅读,更多相关《电机javaweb实验六 Servlet实验二bx1312韩锟45.docx(12页珍藏版)》请在冰豆网上搜索。

电机javaweb实验六 Servlet实验二bx1312韩锟45.docx

电机javaweb实验六Servlet实验二bx1312韩锟45

实验六Servlet实验

(二)

一、实验目的

学习编写和配置过滤器。

学习使用context、application对象。

二、实验要求

利用Filter实现一个网页计数器。

本次实验需要编写1个JSP文件:

index.jsp,和一个Filter:

CountFilter.java。

要求实现功能:

利用浏览器请求index.jsp,页面显示效果如下。

点击刷新按钮,访客数字会相应增长。

三、实验步骤

1.编写Filter代码

用户自定义的Filter是一个类。

这个类实现Filter接口。

Filter接口的定义:

javax.servlet.Filter

 

publicabstractinterfacejavax.servlet.Filter{

publicabstractvoidinit(javax.servlet.FilterConfigarg0)throwsjavax.servlet.ServletException;

publicabstractvoiddoFilter(javax.servlet.ServletRequestarg0,javax.servlet.ServletResponsearg1,javax.servlet.FilterChainarg2)

throwsjava.io.IOException,javax.servlet.ServletException;

publicabstractvoiddestroy();

}

本次实验需要覆盖init()和doFilter()方法。

在init()方法中,从初始化参数中取出计数变量的初值。

代码提示:

String*1*=filterConfig.getInitParameter("变量名");

将取出的String类型的初值转换为int型变量,用于计算

代码提示:

int*2*=*1*.parseInt();

在doFilter方法中。

需要将*2*变量值加一(记为*3*),将*3*写入servletContext

代码提示:

1、为了获得servletContext,首先将doFilter()方法中的第一个参数arg0转换为HttpServletRequest.

HttpServletRequestrequest=(HttpServletRequest)arg0

2、通过request获得session,并通过session获得servletContext

ServletContext*=request.getSession().getServletContext();

3、把*3*变量作为属性写入servletContext.

servletContext.setAttribute(“属性名”,“属性变量”);

4、执行doFilter()方法

arg2.doFilter(ServletRequestreq,ServletResponseresp);

编写web.xml部署描述文件。

文件的大致结构

ThisisthedescriptionofmyJ2EEcomponent

ThisisthedisplaynameofmyJ2EEcomponent

过滤器的名字

过滤器类的名字(包名+类名)

初始化参数名

初始化参数的值

过滤器的名字

被过滤对象的url格式

2.编写JSP代码

编写一个index.jsp文件,输出效果如下图:

访客数量利用application对象从servletContext中取出属性得到。

代码提示:

application.getParameter(“属性名”);

3.部署项目并运行JSP

部署:

Eclipse中设置的输出根目录,根据具体设置更改

写一个与你的项目同名的xml文件。

文件内容:

docBase="项目存放路径\WebContent">

启动Tomcat服务器

通过开始菜单>>“apachetomcat”>>“monitortomcat”。

可以在任务栏右下角看到这个图标,

,右键单击这个图标,选择“startservice”,可启动Tomcat服务器,服务器启动后,图标变为

查看运行结果

打开浏览器,在地址栏中输入相应的地址,可以看到我们编写的jsp文件在浏览器页面上的展示效果。

请求地址:

http:

//localhost:

8080/目录名/jsp文件名

四、实验报告要求

1.

2.

3.

4.

 

代码

Home.jsp:

<%@pagelanguage="java"import="java.util.*"pageEncoding="UTF-8"%>

<%

Stringpath=request.getContextPath();

StringbasePath=request.getScheme()+":

//"+request.getServerName()+":

"+request.getServerPort()+path+"/";

%>

DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional//EN">

">

MyJSP'home.jsp'startingpage

--

-->

ThisismyJSPpage.

您好:

您是本站的第<%=application.getAttribute("count")%>位访客!

Web.xml:

xmlversion="1.0"encoding="UTF-8"?

>

xmlns="

xmlns:

xsi="http:

//www.w3.org/2001/XMLSchema-instance"

xsi:

schemaLocation="

index.jsp

CountFilter

com.test.filter.CountFilter

count

0

CountFilter

/*

454.xml:

xmlversion="1.0"encoding="UTF-8"?

>

\tomcat\webapps\454">

CounterFilter.java:

packagecom.test.filter;

importjava.io.IOException;

importjavax.servlet.Filter;

importjavax.servlet.FilterChain;

importjavax.servlet.FilterConfig;

importjavax.servlet.ServletContext;

importjavax.servlet.ServletException;

importjavax.servlet.ServletRequest;

importjavax.servlet.ServletResponse;

importjavax.servlet.http.HttpServletRequest;

 

publicclassCountFilterimplementsFilter{

privateintcount;

publicvoidinit(FilterConfigarg0)throwsServletException{

Stringparam=arg0.getInitParameter("count");

count=Integer.valueOf(param);

}

publicvoiddoFilter(ServletRequestarg0,ServletResponsearg1,FilterChainarg2)throwsIOException,ServletException{

count++;

HttpServletRequestreq=(HttpServletRequest)arg0;

ServletContextcontext=req.getSession().getServletContext();

context.setAttribute("count",count);

arg2.doFilter(arg0,arg1);

}

publicvoiddestroy(){

}

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1