码迷,mamicode.com
首页 > Web开发 > 详细

JSP学习笔记

时间:2015-12-16 21:04:14      阅读:172      评论:0      收藏:0      [点我收藏+]

标签:

简介:

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分钟

JSP学习笔记

标签:

原文地址:http://www.cnblogs.com/Seffrui/p/5052071.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!