J2EE技术及应用实验及报告(黑龙江大学)

一、实验代码

百度网盘

复制代码
链接: 
https://pan.baidu.com/s/1RhiVh6T6eXSJpHvSPcRycw?pwd=9999 

提取码: 9999

二、实验报告

实验一

一、实验名称

实验1 WEB基础

二、实验目的

熟悉运行环境的安装和使用;了解和掌握基本的HTML标签和JavaScript语法。

三、实验类型

验证型

四、实验环境

IntelliJ IDEA 2020

apache-tomcat-9.0.29

apache-maven-3.6.3

Windows 11 家庭中文版

五、主要设计思想与算法

六、实验结果

tomcat启动成功页面如图1-1所示

图1-1 tomcat启动成功页面

表单实现页面如图1-2所示。

图1-2 表单实现页面

账号不为空验证页面如图1-3所示。

图1-3 账号不为空验证页面

密码不为空验证页面如图1-4所示。

图1-4 密码不为空验证页面

密码长度不足6位验证页面如图1-5所示。

图1-5 密码长度不足6位验证页面

两次密码不一致验证页面如图1-6所示。

图1-6 两次密码不一致验证页面

密保答案不为空验证页面如图1-7所示。

图1-7 密保答案不为空验证页面

注册成功跳转页面如图1-8所示。

图1-8 注册成功跳转页面

七、实验总结与心得

熟悉运行环境的安装和使用是非常重要的,可以帮助我们更高效地开发和测试代码。了解和掌握基本的HTML标签和JavaScript语法也是必不可少的,这是我们开发网页和前端应用的基础。通过掌握这些基础知识,我们可以更好地理解和应用各种前端框架和工具,提高我们的开发效率和质量。因此,对于前端开发人员来说,熟悉运行环境的安装和使用,以及掌握基本的HTML标签和JavaScript语法是非常重要的。

实验二

一、实验名称

实验2 乘法口诀表及访问计数器

二、实验目的

掌握JSP语法和JSP页面的部署和运行过程。

三、实验类型

验证型

四、实验环境

IntelliJ IDEA 2020

apache-tomcat-9.0.29

apache-maven-3.6.3

Windows 11 家庭中文版

五、主要设计思想与算法

六、实验结果

实现九九乘法表页面如图1-1所示。

图1-1 实现九九乘法表页面

实现网站计数器页面如图1-2所示。

图1-2 实现网站计数器页面

七、实验总结与心得

编写一个能够显示九九乘法口诀表的JSP网页和一个网站计数器页面是非常有益的练习,可以帮助我们掌握JSP语法和JSP页面的部署和运行过程。

在编写九九乘法口诀表的JSP网页时,我们可以使用JSP语法来编写一个循环,依次输出每一行的乘法表达式。我们也可以使用HTML和CSS来美化页面,使其更加直观和易读。在部署和运行过程中,我们需要将编写好的JSP页面放置在服务器上,并确保服务器已经正确配置和启动。通过这个练习,我们可以加深对JSP语法和JSP页面部署的理解和掌握。

编写网站计数器页面也是一个有趣的练习,我们可以使用JSP语法来编写一个简单的计数器逻辑,并将计数结果显示在页面上。在部署和运行过程中,我们需要确保计数器的数据能够正确保存和更新,同时页面能够正确显示计数结果。

总的来说,通过这些练习,我们可以更加深入地理解JSP语法和JSP页面的部署和运行过程,为我们今后的前端开发工作打下坚实的基础。

实验三

一、实验名称

实验3 猜数游戏

二、实验目的

掌握JSP的request、out、session对象。

三、实验类型

验证型

四、实验环境

IntelliJ IDEA 2020

apache-tomcat-9.0.29

apache-maven-3.6.3

Windows 11 家庭中文版

五、主要设计思想与算法

六、实验结果

猜数游戏初始页面如图1-1所示。

图1-1 猜数游戏初始页面

猜大了页面如图1-2所示。

图1-2 猜大了页面

猜小了页面如图1-3所示。

图1-3 猜小了页面

猜对了页面如图1-4所示。

图1-4 猜对了页面

输入其他非法字符页面如图1-5所示。

图1-5 输入其他非法字符页面

七、实验总结与心得

猜数游戏程序的编写是为了练习使用JSP的request、out、session对象。在这个游戏中,玩家需要在一个指定的范围内猜一个随机生成的数字,直到猜中为止。

首先,我们需要在JSP页面中创建一个表单,让玩家输入猜测的数字,并提交表单。在JSP页面中使用request对象来获取玩家输入的数字,并将其与生成的随机数进行比较。然后使用out对象将比较结果输出到页面上,告诉玩家猜的数字是太大、太小还是正确。

同时,我们可以使用session对象来记录玩家的猜测次数,以及提供一个重新开始游戏的按钮。当玩家猜中数字时,可以在session中记录玩家的成绩,并在页面上显示出来。

通过编写这个猜数游戏程序,我们可以更好地理解和掌握JSP中的request、out、session对象的使用方法,以及如何将它们应用到实际的项目中。这对于提高我们的JSP编程技能是非常有帮助的。

实验四

一、实验名称

实验4 Cookie操作

二、实验目的

掌握JSP的request、response对象以及Cookie的处理。

三、实验类型

验证型

四、实验环境

IntelliJ IDEA 2020

apache-tomcat-9.0.29

apache-maven-3.6.3

Windows 11 家庭中文版

五、主要设计思想与算法

index.jsp不仅要显示表单,还应读取cookie。如能读到用户名称或密码,将读到的值自动填充到表单内。

判断复选框是否被选中可以用如下代码:

表单中的复选框:

<input type=checkbox name=rememberme1 value="on">自动记录名称

验证页面:

String rememberMe1=request.getParameter("rememberme1");

if(rememberMe1 != null && rememberMe1.equals("on")){

Cookie myCookie=new Cookie("loginname",userName);

//如果未选中复选框,该值为空,因此应先判断是否为空。以下从略

}

只有用户名称和密码正确的前提下,才能保存或清空Cookie。

六、实验结果

初始页面如图1-1所示。

图1-1 初始页面

登录成功页面如图1-2所示。

图1-2 登录成功页面

登陆成功重新登录页面如图1-3所示。

图1-3 登陆成功重新登录页面

登录失败页面如图1-4所示。

图1-4 登录失败页面

登录失败重新登录页面如图1-5所示。

图1-5 登录失败重新登录页面

七、实验总结与心得

要实现具有登录表单信息自动填充功能的网页,我们可以利用JSP的request、response对象以及Cookie的处理来实现。

首先,我们可以在JSP页面中创建一个登录表单,通过request对象获取用户之前保存的Cookie信息,并在页面加载时自动填充到表单中。这样用户就可以方便地看到之前保存的登录信息,并进行修改或者直接登录。

其次,当用户输入新的登录信息并提交表单时,我们可以使用response对象来创建新的Cookie,并将用户输入的登录信息保存到Cookie中。这样就实现了自动填充功能的实现。

通过这个练习,我们可以更好地掌握JSP中request、response对象以及Cookie的处理方法,从而为用户提供更加便捷的用户体验。这对于提高我们的JSP编程技能和实际项目开发中的需求是非常有帮助的。

实验五

一、实验名称

实验5 JDBC应用

二、实验目的

掌握JDBC

三、实验类型

设计型

四、实验环境

IntelliJ IDEA 2020

apache-tomcat-9.0.29

apache-maven-3.6.3

Windows 11 家庭中文版

五、主要设计思想与算法

MySQL数据库中至少创建用户表user和好友信息表friends。他们的逻辑结构和关系如下图所示:

利用任课老师提供的friend.txt生成数据表以及数据。

显示所有好友和按姓名模糊查询后显示好友应为同一个页面friendsInfo.jsp,即friendsInfo.jsp既可以显示所有好友,也可以显示部分好友。可通过如下方式实现:

点击"查询所有好友信息"链接时,直接打开friendsInfo.jsp,并根据登录用户查询所有好友。

提交queryByName.jsp内容时,向friendsInfo.jsp发送文本框内输入的信息。friendsInfo.jsp读取该信息,并结合登录用户信息查询部分好友。

综上所述,friendsInfo.jsp读取前一表单的信息,如果能读到,就是模糊查询;读不到,就是全部查询。

六、实验结果

初始页面如图1-1所示。

图1-1 初始页面

主页面如图1-2所示。

图1-2 主页面

好友录页面如图1-3所示。

图1-3 好友录页面

添加新纪录页面如图1-4所示。

图1-4 添加新纪录页面

添加成功页面如图1-5所示。

图1-5 添加成功页面

修改记录页面如图1-6所示。

图1-6 修改记录页面

修改成功页面如图1-7所示。

图1-7 修改成功页面

删除选中记录页面如图1-8所示。

图1-8 删除选中记录页面

删除成功页面如图1-9所示。

图1-9 删除成功页面

首字符模糊查询页面如图1-10所示。

图1-10 首字符模糊查询页面

查询成功页面如图1-11所示。

图1-11 查询成功页面

尾字符模糊查询页面如图1-12所示。

图1-12 尾字符模糊查询页面

查询成功页面如图1-13所示。

图1-13 查询成功页面

用户注册页面如图1-14所示。

图1-14 用户注册页面

七、实验总结与心得

使用JDBC实现好友录程序是一个非常好的练习,可以帮助我们掌握JDBC的基本用法和数据库操作。

首先,我们需要创建一个数据库表来存储好友的信息,例如好友的姓名、电话号码、地址等。然后,我们可以使用JDBC来连接数据库,执行SQL语句来实现对好友信息的增加、删除、修改和查询操作。

在编写好友录程序时,我们需要使用JDBC的Connection、Statement和ResultSet等对象来连接数据库、执行SQL语句并处理查询结果。同时,我们还可以使用PreparedStatement来执行带参数的SQL语句,提高程序的性能和安全性。

通过实现好友录程序,我们可以更加深入地了解JDBC的使用方法,包括数据库连接、SQL语句的执行和结果集的处理等。这将有助于我们在实际项目中更加灵活地操作数据库,提高开发效率和质量。

实验六

一、实验名称

实验6 Servlet与MVC

二、实验目的

掌握Servlet和MVC框架。

三、实验类型

综合型

四、实验环境

IntelliJ IDEA 2020

apache-tomcat-9.0.29

apache-maven-3.6.3

Windows 11 家庭中文版

五、主要设计思想与算法

loginForm.jsp为登录表单页面,填写用户名称和密码后点击提交按钮时,登录请求必须由Servlet来处理,这样才能符合MVC模式的要求。

index.jsp仍然是实验5的显示效果,而且必须是登录后才能访问。

在如下图所示friendsInfo.jsp页面上选取一个好友后点击"修改选中好友"链接的处理流程如下:

上面所示,由friendsInfo.jsp通过链接提交表单的处理方式为:

l为"修改选中好友"链接添加事件处理说明,如

<a href="#" οnclick="myupdate()">修改选中好友</a>

l编写事件处理代码,如:

<script>

function myupdate(){

document.myform.action="QueryByIDServlet";

document.myform.submit();

}

</script>

六、实验结果

初始页面如图1-1所示。

图1-1 初始页面

主页面如图1-2所示。

图1-2 主页面

好友录页面如图1-3所示。

图1-3 好友录页面

添加新纪录页面如图1-4所示。

图1-4 添加新纪录页面

添加成功页面如图1-5所示。

图1-5 添加成功页面

修改记录页面如图1-6所示。

图1-6 修改记录页面

修改成功页面如图1-7所示。

图1-7 修改成功页面

删除选中记录页面如图1-8所示。

图1-8 删除选中记录页面

删除成功页面如图1-9所示。

图1-9 删除成功页面

首字符模糊查询页面如图1-10所示。

图1-10 首字符模糊查询页面

查询成功页面如图1-11所示。

图1-11 查询成功页面

尾字符模糊查询页面如图1-12所示。

图1-12 尾字符模糊查询页面

查询成功页面如图1-13所示。

图1-13 查询成功页面

用户注册页面如图1-14所示。

图1-14 用户注册页面

未登录拦截页面如图1-15所示。

图1-15 未登录拦截页面

七、实验总结与心得

将好友录程序改造为MVC结构是一个非常有益的练习,可以帮助我们更好地理解Servlet和MVC框架的使用。

首先,我们需要将之前的JDBC代码封装到一个Model层中,用于处理与数据库的交互。这样可以实现数据的独立性,方便对数据的操作和管理。

其次,我们可以创建一个Controller层,使用Servlet来处理用户的请求,并调用Model层来获取数据,并将数据传递给View层进行展示。这样可以实现用户请求和业务逻辑的分离,提高代码的可维护性和可扩展性。

最后,我们需要创建一个View层来展示数据,可以使用JSP来实现页面的呈现,并通过Servlet将数据传递给JSP页面进行展示。

通过将好友录程序改造为MVC结构,我们可以更好地理解Servlet和MVC框架的使用方法,以及如何将它们应用到实际的项目中。这对于提高我们的Web开发技能和实际项目开发中的需求是非常有帮助的。同时,也能够提高代码的可维护性和可扩展性。

​​若觉得有帮助,欢迎点赞关注,一起成长进步~
声明​​:本文仅供学习交流,禁作商用;禁篡改、歪曲及有偿传播,引用需标明来源。侵权必究。

相关推荐
程序员游老板18 小时前
基于SpringBoot3_vue3_MybatisPlus_Mysql_Maven的社区养老系统/养老院管理系统
java·spring boot·mysql·毕业设计·软件工程·信息与通信·毕设
爱学习的小可爱卢1 天前
JavaEE进阶——SpringBoot统一功能处理全解析
java·spring boot·后端·java-ee
爱学习的小可爱卢1 天前
JavaEE进阶——SpringBoot统一功能处理实战指南
java·spring boot·java-ee
hans汉斯1 天前
【软件工程与应用】平移置换搬迁系统设计与实现
数据库·人工智能·系统架构·软件工程·汉斯出版社·软件工程与应用
那我掉的头发算什么1 天前
【javaEE】保姆级 HTTP 全解析:请求响应 + 状态码 + Fiddler 实操
网络·http·java-ee·fiddler
粟悟饭&龟波功1 天前
【软考系统架构设计师】六、软件工程
系统架构·软件工程
郝学胜-神的一滴1 天前
Linux线程编程:从原理到实践
linux·服务器·开发语言·c++·程序人生·设计模式·软件工程
Brookty1 天前
Java并发编程核心的基础知识
java·开发语言·java-ee·多线程·线程安全
计算机学姐1 天前
基于SSM的宠物领养管理系统【2026最新】
java·vue.js·后端·java-ee·tomcat·mybatis·宠物