TimerFilter源码如下:
package com.chinajavaworld.util;
import java.io.IOException;
import javax.servlet.*;
import javax.servlet.http.HttpServletRequest;
public class TimerFilter
implements Filter
{
public static class Timer
{
long time;
public void start()
{
time = System.currentTimeMillis();
}
public void stop()
{
time = System.currentTimeMillis() - time;
}
public long getTime()
{
return time;
}
public Timer()
{
time = 0L;
}
}
public static final String DEFAULT_TIMER_ATTRIBUTE = "cjw.timer";
private String key;
public TimerFilter()
{
key = null;
}
public void init(FilterConfig filterConfig)
throws ServletException
{
if(filterConfig.getInitParameter("key") != null)
key = filterConfig.getInitParameter("key");
else
key = DEFAULT_TIMER_ATTRIBUTE;
}
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain)
throws IOException, ServletException
{
HttpServletRequest request = (HttpServletRequest)servletRequest;
Timer timer = new Timer();
timer.start();
request.setAttribute(key, timer);
filterChain.doFilter(servletRequest, servletResponse);
timer.stop();
handleTimer(timer);
}
public void handleTimer(Timer timer1)
{
}
public void destroy()
{
}
}
2. 在web.xml中配置:
<filter>
<filter-name>Timer</filter-name>
<filter-class>com.chinajavaworld.util.TimerFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>Timer</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
3. 在JSP页面中写上代码:
<%
// Get the timer from the request as an attribute if it exists:
TimerFilter.Timer timer
= (TimerFilter.Timer)request.getAttribute(TimerFilter.DEFAULT_TIMER_ATTRIBUTE);
if (timer != null) {
timer.stop();
%>
<p style="font-size:11px;">Processed in <b><%= timer.getTime() %></b> ms
<%}%>
4. 完成.
分享到:
相关推荐
在这个“jsp计算三角形的面积”的示例中,我们将深入探讨如何利用JSP和自定义Tag库来实现一个简单的几何计算功能。 首先,让我们了解JSP中的自定义Tag。自定义Tag是JSP的一种扩展机制,它允许开发者创建可重用的、...
6. **JSP表达式与脚本元素**:在JSP页面中,使用表达式`<%= %>`显示数据,使用脚本元素`<% %>`执行Java代码。 以上就是利用JSP和Servlet实现计算矩形周长和面积的Web应用的详细步骤和涉及的技术点。通过这个简单的...
9. **JavaScript阻塞渲染**:如果JSP页面中存在阻塞渲染的JavaScript代码,浏览器会在执行完这些代码后才继续渲染页面。将脚本放在`<body>`标签底部,或使用`async`或`defer`属性可以避免这种问题。 10. **JSP预...
总的来说,JSP生成静态页面是提高网站效率的有效手段,但同时也需要谨慎处理静态化过程中的各种细节,以确保网站的正常运行和用户体验。在实际项目中,应结合具体需求和资源来选择合适的静态化策略。
7. **错误处理与调试**:描述中提到在编写过程中遇到并解决了问题,这意味着你会了解到如何使用调试工具,查看服务器日志,以及利用断点和步进执行来找出程序中的错误。 8. **J2EE基础**:虽然这个项目是简单的JSP...
在JSP(Java Server Pages)开发中,实现当前页面获取数据并进行上下翻页功能是一项常见的需求,尤其在处理大量数据展示时。这个例子旨在帮助开发者理解如何在JSP页面中有效地实现这一功能,提高用户体验。 首先,...
### JSP页面中的代码执行加载顺序详解 #### 一、引言 JSP(Java Server Pages)是一种基于Java技术的动态网页技术标准,它通过将动态生成的内容嵌入到静态HTML页面中,使得Web应用程序能够生成动态变化的内容。在...
服务器端的JSP接收请求,执行SQL查询,将结果封装到Java对象(如List或ArrayList)中,再将数据传递回页面显示。 - 显示页面:使用JSP标签库(如JSTL)或内联Java代码将查询结果渲染成表格形式展示给用户。 - 删除...
3. Tomcat服务器执行字节码文件,处理JSP中的动态内容,然后将结果发送给浏览器。 4. 浏览器接收并展示静态HTML和处理后的动态内容。 ### HTML基础知识 HTML是构成网页的基础,由一系列标签组成。一些常见的HTML...
JSP 2.0引入的Expression Language(EL)则是一种用于数据访问的简化表达式语言,它可以在JSP页面中使用,代替了原本需要在页面上书写的复杂Java脚本,使JSP页面更加简洁明了。 七、WEB应用的部署与数据共享 Java ...
在本项目中,JSP将负责展示用户界面并处理用户输入,与后台交互以计算三角形的几何属性。 **MVC(Model-View-Controller)** 设计模式是一种广泛应用于Web开发的架构模式,它将应用程序分为三个主要组件: 1. **...
虽然JSP主要处理的是HTML和HTTP请求,但其内嵌的Java代码可以执行各种计算任务,包括数学运算。在本例中,我们将讨论如何在JSP中实现一个功能,即计算一个数值的n次方。 首先,我们要理解什么是递归。递归是一种...
2. JSP脚本let或脚本片段:用于接收用户输入,执行面积计算,并可能将结果显示在页面上。 3. JavaScript:可能用于前端验证输入数据的合法性,如确保输入的是数字,并且在计算前提供即时反馈。 在`square.jsp`中,...
在JSP页面中可以使用客户端脚本(如JavaScript)来实现更丰富的交互效果。本例中的倒计时功能就是通过JavaScript来实现的。 - **startday=new Date();**:创建一个新的Date对象,用来记录当前的时间。 - **clock...
- **减轻服务器压力**:减少服务器处理请求的时间,有利于应对大量并发访问。 - **SEO优化**:搜索引擎更容易抓取静态页面,有利于网站排名。 2. **JSP静态化的实现方式** - **预编译**:使用`jspc`命令或类似...
在这个简单的计算器应用中,`myCalc.jsp`可能是用户输入的页面,而`myResult.jsp`用于显示计算结果。`myCalc.jsp`会处理用户提交的数据,进行计算,并可能重定向到`myResult.jsp`来展示结果。在`myCalc.jsp`的...
动态内容则是通过JSP的内置对象,如`request`、`response`以及`pageContext`,来处理用户的请求,执行计算,并将结果返回到客户端。 在【描述】中提到了JavaScript,这意味着计算器的前端可能使用了JavaScript进行...
购物车模型可以在Controller中处理,而视图(View)则由JSP页面呈现。 **6. 安全与性能** 购物车模块应考虑安全性,比如防止SQL注入、XSS攻击等。同时,优化如缓存策略、减少不必要的数据库查询等也是提升性能的...
1. **两个网页的传值与数据类型的转换**:在这个版本中,用户将在第一个页面输入数字,点击按钮后,数据会被发送到服务器,由Servlet处理计算逻辑,然后将结果返回到第二个页面显示。这个过程中涉及的关键知识点包括...
这大大减少了服务器响应时间,提升了页面加载速度,同时也降低了服务器的计算压力。 实例"statictest1"可能包含了一个简单的JSP到HTML的转换程序,可能包括以下几个步骤: 1. **预编译JSP**:在服务器上运行时,...