EL,自定义标签,监听器的简单应用

一、EL和自定义标签的简单应用

Index.jsp里的body内容

EL,自定义标签,监听器的简单应用

main.jsp代码:

EL,自定义标签,监听器的简单应用

蓝色注释掉部分是传统的脚本方法显示,后面才是应用了el

EL,自定义标签,监听器的简单应用

运行结果:访问index.jsp会跳到main.jsp显示用户名,密码和状态码

EL,自定义标签,监听器的简单应用

若直接访问main.jsp则不会显示用户名,密码和状态码,因为没有从index.jsp那里取到

EL,自定义标签,监听器的简单应用

还可以做另一个例子来展示el的简便,做学生信息展示

新建的有PrintReqAttrTag.javaListServlet.javaStudent.javalist.jsp

下面是结构以及PrintReqAttrTag.java里代码,

EL,自定义标签,监听器的简单应用

List.jsp里引入jstl标签库

EL,自定义标签,监听器的简单应用

上面箭头部分的 uri来自jstlMETA-INTc.tld文件,具体操作如下

EL,自定义标签,监听器的简单应用EL,自定义标签,监听器的简单应用EL,自定义标签,监听器的简单应用EL,自定义标签,监听器的简单应用

list.jsp里主要代码

EL,自定义标签,监听器的简单应用

ListServlet.java里代码:构造的学生集合属于假数据,

可以和数据库连接起来的,具体操作在上一个博客里有详细步骤。

EL,自定义标签,监听器的简单应用

mytag.tld文件的内容,uri是唯一的,广义上的地址

EL,自定义标签,监听器的简单应用

PrintReqAttrTag.java里的代码,

attr必须与前面的mytag.tld里的name也就是attr对应相同

EL,自定义标签,监听器的简单应用

实体类学生Student.java里代码:

EL,自定义标签,监听器的简单应用

显示结果:

EL,自定义标签,监听器的简单应用

另外一个例子:

EL,自定义标签,监听器的简单应用

show.jsp里代码:

EL,自定义标签,监听器的简单应用

显示结果:

EL,自定义标签,监听器的简单应用

输入信息

EL,自定义标签,监听器的简单应用

提交后跳转show.jsp的显示

EL,自定义标签,监听器的简单应用

二、监听器实现访问次数记录

书写一个类用于统计web应用启动后,网页被客户端访问的次数。如果重新启动web应用,计数器不会从1开始统计访问次数,而是从上次统计的结果上进行累加。

EL,自定义标签,监听器的简单应用

这是rjday4的结构以及login.jsp主要代码

这次新建的有:login.jspsuccess.jspfail.jspcount.txtuserservlet.java

LogoutServlet.javaCountListener.javaReadWriteCount.java

这里面除了最后两个外,全是在servlet+jsp实现登录控制这个博客里的

这是CountListener.java中代码:箭头部分是count.txt文件在电脑中的路径

EL,自定义标签,监听器的简单应用

ReadWriteCount.java中代码:

EL,自定义标签,监听器的简单应用

下图框内是将userservlet.javaLogoutServlet.java复制进工程后在web.xml中添加内容

EL,自定义标签,监听器的简单应用

此外,还需在web.xml中配置listener

EL,自定义标签,监听器的简单应用

运行之前先看看count.txt文件中的数值:数值为130

EL,自定义标签,监听器的简单应用

EL,自定义标签,监听器的简单应用

运行结果显示:

EL,自定义标签,监听器的简单应用

登录之后:显示数值为130+1,正确

EL,自定义标签,监听器的简单应用

多登录几次

EL,自定义标签,监听器的简单应用

这时候,需要关闭服务器

EL,自定义标签,监听器的简单应用

再次打开count.txt文件查看数值,为135,正确写入

EL,自定义标签,监听器的简单应用

到此,用于统计访问次数的功能实现了