JSP实验(实现统计页面点击次数)
实验内容
一、实验目的
- 学习 JSP 技术编程的步骤和方法。
- 具体掌握 JSP 指令元素、脚本元素、动作元素、HTML 元素、注
释元素、内置对象,以及相关 Cookie 技术的编程。 - 熟练运用 Eclipse 创建 Dynamic Web Project,开发相应的 JSP 组件,
并进行 Project 部署、运行等操作处理。
二、实验内容及步骤 - 创建并部署 Dynamic Web Project “JSPDemo”。
首先,运行 Eclipse,按照“实验一 Java EE 开发与运行环境
搭建”中创建 Dynamic Web Project 的步骤,创建名为 JSPDemo 的
Dynamic Web Project。
其次,右键选择 Servers 视图中 Tomcat V8.5 Server,并选择
“Add and Remove→将项目 JSPDemo 从 Available 窗口中迁移至
Configured 窗口中→Finish”,完成 JSPDemo 在 Tomcat 服务器中的
部署。 - 编写 JSPDemo 中运用指令元素(page)、脚本元素(普通脚本、表
达式脚本)、动作元素(jsp:forward、jsp:param)和内置对象
(request)等编程的 JSP 组件示例,并部署 JSPDemo、运行其中
相应的 JSP 组件。
参照教材“2.1.5 JSP 动作标签”中“例 2.1.1”,使用
jsp:forward、jsp:param动作元素,实现请求转发及对随机数
的处理。
具体地,首先,按照“实验一 Java EE 开发与运行环境搭建”
中创建 Dynamic Web Project 中 JSP 组件的步骤,分别创建示例相
应的三个 JSP 组件,完成源代码的编写并保存。
其次,启动 Tomcat 服务器,在浏览器 URL 地址栏输入相应
的访问该示例入口 JSP 组件的网址,查看程序运行结果并观察客
户端 URL 地址是否发生跳转,了解jsp:forward动作元素仅在服
务器端执行跳转的特点。 - 编写并运行 JSPDemo 中运用指令元素(page)、脚本元素(普通脚
本、表达式脚本)和内置对象(session、application)等编程的 JSP
组件示例。
参照教材“2.2.5 全局对象 application”中“例 2.2.3”,使用
JSP 内置对象 session 和 application,统计页面的访问人数。
具体地,在 JSPDemo 中,进一步创建示例相应的一个 JSP
组件,完成源代码的编写并保存,再确认 Tomcat 已正常启动,
在浏览器 URL 地址栏输入访问该示例 JSP 组件的网址,查看程
序运行结果。
进一步地,为加深对 JSP 内置对象作用范围的理解,将上述
示例 JSP 组件中内置对象 application 均修改为 session 并保存,重
新在浏览器 URL 地址栏输入访问该示例 JSP 组件的网址,查看
程序运行结果有无变化,分析相应的原因何在。
三、课外练习
参照教材“2.2.7 Cookie 信息的建立与使用”中“例 2.2.4”,
实现 Cookie 信息的建立与读取。
具体地,在 JSPDemo 中,进一步创建示例相应的两个 JSP 组
件,完成使用 response、request 内置对象进行 Cookie 创建及读取
的相应JSP组件源代码的编写并保存,再确认Tomcat 已正常启动,
在浏览器 URL 地址栏输入访问该示例入口 JSP 组件的网址,查看
程序运行结果,并体会超链接标签执行页面跳转有何特点。
四、实验小结及思考
思考并掌握 JSP 页面程序如何具体被转换、编译和执行的工
作原理,并自行对实验中所遇到的问题及其解决方法进行归纳和
小结。
在 Eclipse 中,将上述 Dynamic Web Project “JSPDemo”通
过 Export 方式打包导出,并自行保存备查。
操作方法
这里使用IDEA进行演示
- 创建Maven项目
配置按照我这里来填写 - 这是项目结构
- 在这个webapp下面防止jsp文件
- 点击上面配置tomcat
- 点击这里的tomcat
- 部署项目
- 部署完成之后点击运行
- 运行结果
默认访问index.jsp文件
- 创建jsp文件
项目结构
- include.jsp运行效果
<%-- Created by IntelliJ IDEA. User: 31288 Date: 2023/3/13 Time: 22:27 To change this template use File | Settings | File Templates. --%> <%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8" pageEncoding="utf-8" %> <%! int cnt;%> <hr align="center" width="90%" /> <p align="center"> 本页面被访问了<%=cnt++%>次。<br/> 信息工程学院版权所有 2023 </p>
运行结果
- content.jsp
<%-- Created by IntelliJ IDEA. User: 31288 Date: 2023/3/13 Time: 22:14 To change this template use File | Settings | File Templates. --%> <%@ page language="java" import="java.util.*,java.text.SimpleDateFormat" contentType="text/html; charset=UTF-8" pageEncoding="utf-8" %> <html> <head> <meta http-equiv="content-type" contentType="text/html; charset=UTF-8"></meta> <title>Include指令的使用</title> </head> <body> <h1 align="center">欢迎来到Java Web社区</h1> <% SimpleDateFormat sdf = new SimpleDateFormat("yyyy年M月d日 HH:mm:ss"); String date = sdf.format(new Date()); %> <h3 align="center">服务器当前时间是<%=date %></h3> <%@include file="include.jsp" %> </body> </html>
运行结果