JSP学习笔记

简介:

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

转载于:https://www.cnblogs.com/Seffrui/p/5052071.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值