标签:
简介:
JSP是一种基于文本的程序,提特点是HTML代码与java程序共同存在,执行时JSP会被tomcat自动编译,这个过程对开发者是透明的,不需要关注。编译后的jsp文件是一个继承自HttpServlet的类。
工作原理:
JSP是一种Servlet,但是与HttpServlet的工作方式不太一样,HttpServlet是先由源代码编译为class文件后部署到服务器下的,先编译 ,后部署。而jsp是先部署源代码后编译为class文件的,先部署后编译。JSP会在客户端 第一次 请求jsp文件时被编译为HttpJspPage类(接口Servlet的子类)该类会被服务器存放在工作目录里面。
生命周期:
JSP也是servlet,所以运行时只会有一个实例,也存在init和的destory方法
在第一次访问时创建,在服务器关闭时销毁。
JSP指令:
jsp有三个常用指令 page include taglib
page是最常用的指令 用来声明jsp页面的一些属性
常用的有
language 值:java
import 引包
contentType设置文档类型 编码等
include:用来引用另一个jsp或者html界面,可以便于将界面分区。
taglib:使用标签功能能够实现视图代码重用。
incude行为
<jsp:include page="url" />在运行时将文件包含进来,如果被包含的jsp,则会先执行jsp程序,然后把程序的执行结果包含进来。
它与include命令区别是
include指令的在编译时包含,包含的是源代码 include行为包含的是jsp界面的执行结果 。
从生成的class来看 include指令会生成一个class文件 而include会包含多个class文件 (include几个jsp界面便有几个class);
useBean行为使得jsp中可以使用java bean对象。
<jsp:useBean id="id" class="classpath" scope="page/request/session/applicatioin"/>
id为javaBean的变量名
class为javabean的完整路径
scope为javabean的作用域
page:只在本页面有效
request:仅本次请求有效
session:在会话期间有效
application:对Web的应用程序有效
应用javaBean和scope来统计访问次数。
javabean设计
public class Count { private int count=0; public int getCount() { ++count; return count; } public void setCount(int count) { this.count = count; } public Count() { } }
jsp
<h1>统计访问技术</h1>
<jsp:useBean id="privateCount" class="qdm.test.Count" scope="session" />
<jsp:useBean id="totalCount" class="qdm.test.Count" scope="application" />
这是您的第<%=privateCount.getCount()%>访问
总计共<%=totalCount.getCount()%>访问
这里我们还需要设置一下session的生存周期便于观察
<session-config>
<session-timeout>1</session-timeout>
</session-config>
运行结果如下
你每次刷新都会更新访问次数
我们设置session周期为1分钟 1分钟后访问 执行效果如下
例如,我们想统计一个月的访问数量 就可以把session的生存周期设为30*24*60*60分钟
标签:
原文地址:http://www.cnblogs.com/Seffrui/p/5052071.html