实训总结:
Web 应用的建立过程大致如下:
- 需求分析:明确应用的功能、用户需求和界面设计等。
- 设计:包括数据库设计、界面设计和系统架构设计等。
- 开发:使用编程语言和框架开发应用程序。
- 测试:对应用程序进行测试,确保其功能和性能符合要求。
- 部署:将应用程序部署到服务器上,使其可以被用户访问。
Web 应用的调试步骤与技巧:
- 查看控制台输出:在浏览器的开发者工具中查看控制台输出,了解应用程序的错误信息和警告。
- 使用调试工具:使用调试工具,如 Chrome 的 DevTools、Firefox 的 Firebug 等,可以帮助你调试应用程序。
- 设置断点:在代码中设置断点,可以在运行时暂停代码执行,以便检查变量和执行流程。
- 使用日志:在代码中添加日志语句,可以记录应用程序的运行信息,帮助你调试应用程序。
项目部署与项目拷贝的异同:
- 目的不同:项目部署是将应用程序部署到服务器上,以便用户可以访问;项目拷贝是将应用程序复制到另一个位置,以便备份或在其他地方运行。
- 环境不同:项目部署需要考虑服务器的环境和配置,如操作系统、数据库、Web 服务器等;项目拷贝不需要考虑这些环境因素。
- 操作不同:项目部署需要将应用程序打包、上传到服务器,并进行相关配置;项目拷贝只需要将应用程序复制到另一个位置即可。
MySQL 软件、SQLyog 软件、jdbc 连接 jar 包、数据库、表之间的关系:
- MySQL 软件是一种关系型数据库管理系统,用于存储和管理数据。
- SQLyog 软件是一种 MySQL 数据库管理工具,用于连接 MySQL 数据库、执行 SQL 语句、管理数据库和表等操作。
- jdbc 连接 jar 包是一种 Java 数据库连接驱动程序,用于连接 MySQL 数据库。
- 数据库是存储数据的容器,由表、视图、存储过程等组成。
- 表是数据库中存储数据的基本单位,由行和列组成。
JDK、Tomcat、MyEclipse 之间的关系:
- JDK 是 Java 开发工具包,包含了 Java 编程语言的编译器、运行时环境和类库等。
- Tomcat 是一个开源的 Web 服务器和应用服务器,用于运行 Java Web 应用程序。
- MyEclipse 是一个基于 Eclipse 的集成开发环境,提供了对 Java Web 开发的支持,包括项目管理、代码编辑、调试和部署等功能。
servlet、服务类、JSP、JS 之间的配合关系:
- servlet 是一种 Java 类,用于处理 HTTP 请求和响应,是 Web 应用程序的控制器。
- 服务类是一种 Java 类,用于实现业务逻辑,是 Web 应用程序的模型。
- JSP 是一种动态网页技术,用于生成 HTML 页面,是 Web 应用程序的视图。
- JS 是一种前端脚本语言,用于实现客户端的交互和动态效果,是 Web 应用程序的客户端脚本。
JSP 页面间的信息传递方式:
通过请求参数传递:在 JSP 页面之间传递信息,可以通过请求参数来实现。在一个 JSP 页面中,可以通过设置请求参数,并将其传递给另一个 JSP 页面。
- 通过会话传递:在 JSP 页面之间传递信息,可以通过会话来实现。在一个 JSP 页面中,可以将信息存储在会话中,并在另一个 JSP 页面中获取这些信息。
- 通过 cookie 传递:在 JSP 页面之间传递信息,可以通过 cookie 来实现。在一个 JSP 页面中,可以将信息存储在 cookie 中,并在另一个 JSP 页面中获取这些信息。
正文:
一,实践目的与要求:
目的:为了搭建一个实现员工信息管理的CRUD
要求:用jsp+Servlet实现
二,实践任务:
- 员工信息表(你可以插入你自己的表)
三,解决方案
业务分析:我的实践任务需要设计出一个员工信息的增删改查,功能模块划分也就是增加员工信息,删除员工信息,修改员工信息,查询员工信息。
查询页面如下:
首先增加员工信息:
写了数据库的公用类DBUtil,采用OOP编程思想。
其次我将我的数据库连接类用到了我的servlet中:
具体流程是先将我的数据库工具注入Dao层
然后执行对应的查询语句,如此看来OOP面向对象封真的是吧数据库用的行云流水!
书写了addEmp()函数添加了我们的员工字段
Dao层封装后我们再在我们的servlet中Dao层封装的EmpDao对象:
在里边我们自动重写了doGet和doPost收到了前端发送的请求,并对请求进行拦截处理最终返回jsp页面编译后的html给我们的浏览器
前端页面如下,也可以对用户的行为进行友好js提示:
例如加上我们的alert消息窗口事件。
在web.xml文件中我们配置了需要的控制层的servlet的放行策略和扫描,最终可以显示在浏览器,如果不放行则会出现表单提交不会跳转的情况:
<servlet-mapping>
<servlet-name>EmpServlet</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>中的*.do就是放行所有的执行表单动作。
3.2
技术方案:
开发环境:idea 2021.3.3 mysql 5.7.13 windows 11
运行环境: Tomcat 8/9
技术架构: jsp+servlet
解决步骤: 创建JDK环境 运行部署webapp 浏览器测试
3.3
实践过程:
环境搭建:
选择合适的服务器目录下载然后让编译器找到
然后打开编译器启动mysql服务:
工程创建:
创建以下架构的工程(和老师你的一样),采用MVC架构,底层使用JDBC裸奔查询!
编码实现:
Controller层
Dao层:
实体类(pojo)层
数据库连接层
调试:
等等。
程序流程图:
用户可以进行多种CRUD的动作,可以保证系统的有效运行但是如果用户输入的格式和数据库要求的格式不是很匹配,则会报错!
如果数据库的id不设置自增会发生删不掉的情况!
还有MySQL 驱动和 Tomcat 服务器的关系就像钥匙和锁的关系。没有 MySQL 驱动,Tomcat 服务器就无法打开 MySQL 数据库的大门,也就无法访问数据库中的数据。所以,在测试项目时,需要将 MySQL 驱动的.jar 文件放在 Tomcat 服务器的 lib 目录中,这样 Tomcat 服务器才能找到并加载 MySQL 驱动,从而与 MySQL 数据库进行通信。
我犯的错误包括但不限于以下几点:
需求理解不准确:这是导致测试范围存在误差、遗漏部分需求或者执行了错误的测试方法的主要原因之一[26]。因此,在设计测试用例之前,确保对需求有准确的理解是非常重要的。
测试用例设计不足:测试用例是测试执行的依据,如果测试用例设计不当,可能会导致漏测某些功能或场景[5]。例如,使用等价类划分法、边界值分析法等方法可以有效地设计测试用例,但如果这些方法应用不当,也可能导致测试覆盖不全面[9]。
异常测试不足:异常测试是验证软件健壮性的重要手段,通过人为制造错误情况来测试系统对错误操作、错误报文的反应[12][30]。如果忽视了异常测试,可能会导致系统对异常情况处理不当,影响用户体验。
错误跟踪和缺陷管理不当:正确的错误跟踪和缺陷管理过程可以提高软件质量,减少后期维护成本[14]。如果在这一过程中存在问题,如未能及时发现潜在的错误和缺陷,或者缺陷管理流程不清晰,都可能导致问题累积,影响最终产品的质量。
忽视安全性测试:安全性是软件系统中非常重要的一部分,如果在设计员工信息管理系统时忽视了安全性测试,可能会导致系统面临安全威胁,如数据泄露、非法访问等[11]。
兼容性测试不足:随着技术的发展,用户使用的设备种类越来越多,如果不进行充分的兼容性测试,可能会导致系统在某些设备上运行不稳定或无法正常工作[8]。
忽视用户体验:一个好的用户体验对于软件的成功至关重要。如果在测试过程中忽视了用户体验,可能会导致用户在使用系统时遇到困难,影响系统的接受度和使用率[8]。
为了避免上述错误,我需要在设计员工信息管理系统时,从需求分析开始就注重细节,确保对需求有准确的理解;设计全面的测试用例,包括功能测试、性能测试、安全性测试等;重视异常测试和兼容性测试,确保系统能够稳定运行;并且在整个测试过程中,保持良好的错误跟踪和缺陷管理机制,及时发现并解决问题。