javaweb实训第四天下午——员工管理系统-JSP&Servlet&JDBC综合练习-CRUD

简介: 1.课程介绍Servlet细节; (掌握)员工信息相关的CRUD; (掌握)部门信息相关的CRUD; (掌握)2.Servlet细节2.1.多种匹配方式

1.课程介绍

  1. Servlet细节; (掌握)
  2. 员工信息相关的CRUD; (掌握)
  3. 部门信息相关的CRUD; (掌握)

2.Servlet细节

2.1.多种匹配方式

2.1.1.精确匹配(配置多个请求)

1.精确匹配:配置什么就必须写什么,精确匹配中/千万不能少;

2.在一个servlet-mapping中配置多个;

20210602103953534.png

3.在多个servlet-mapping中配置配置多个servlet-mapping;

20210602104003639.png

注:相对应的注解形式:

@WebServlet(urlPatterns={"/mapping","/mapping2","/mapping3"})

2.1.2.通配符匹配(/*)

1.通配符匹配:可以拦截到所有的请求:

image.png

2.例如:/system/、/system/user/。很多时候,我们做权限,就会用到这个拦截:

20210602104028159.png

注:相对应的注解形式:@WebServlet(urlPatterns={"/system/user/*"})


2.1.3.后缀匹配(*.后缀名)

1.后缀匹配:以后缀的方式匹配,注意后缀匹配是没有加/的;

2.例如:.action、.do、.user、.student、*.admin等等;

20210602104036652.png

注:相对应的注解形式:@WebServlet(urlPatterns={".xxx"})
提别提醒:后缀匹配中不要配置
.html和*.jsp后缀(与页面的后缀冲突),后缀请求匹配会先匹配web.xml或注解直接找到Servlet,而不会请求你的html和jsp页面;

2.2.初始化配置

1.为了提高第一次访问Servlet的效率,可以将Servlet实例化初始化的时机提前到项目部署的时候,只需要加上即可:

202106021040448.png

2.load-on-startup这里面的数字代表就是servlet创建的先后顺序。 数字越小,越早启动;

3.中不要取default,jsp。默认的default就是访问静态资源,如果我们使用default会把别人的功能覆盖掉;

2.3.默认页面

1.我们之前在学习的时候,我们有一个默认页面的概念:

20210602104052781.png

2.上面三个都是默认页面。 万一我三个都有呢?

(1)先找第一个

(2)第一个找到了,使用第一个

(3)第一个没找到,再去找第二个

(4)……

3.可以自己修改默认配置页面(注意在自己web.xml进行修改):

20210602104111956.png

2.4.线程安全

1.Servlet是单例的(同一个线程发送多次请求,只会创建一个对象)。但是Servlet是线程不安全的,不要使用成员变量,演示一下线程安全问题:

20210602104119580.png

2.当同时访问的时候,出现线程安全问题。出现线程安全的原因:num1 和num2 只声明了一次,以后都在使用这个num1和num2;

20210602104137123.png

3.我们怎么来解决线程安全问题呢:

第一种解决:实现SingleThreadModel接口(已经过时)



出现问题:SingleThreadModel相当于一个把锁,必须等第一个人计算完,之后其他人才进来;这样导致效率很低下;

第二种解决:不要写成员变量:

20210602104156118.png


图示:

20210602104159616.png

注意:Servlet和Springmvc都是非线程安全的(不要写成员变量)。Struts2 : 线程安全的(它是可以写成员变量的);

2.5.合并多个Servlet

1.如果涉及到一个表中有多个请求(CRUD等),那么我们需要写多个Servlet吗?

 (1)答案是不行,因为这样重复代码太多;

 (2)代码整体不够简洁,美观,显得臃肿;

 (3)不方便管理和维护;

2.可以将同一个表的请求写在一个Servlet中(前后台需要分开)

3.如何实现多个Servlet合并?

 (1)第一种:使用后缀匹配*.表名实现,后台判断请求的uri区分不同的请求,调用不同的方法处理;

 (2)第二种:在表单中使用隐藏域,每个请求写不同的值,后台获取这个隐藏域参数之后再判断,然后调用不同的方法处理;

3.员工信息相关CRUD

20210602104243336.png

4.部门信息相关CRUD

5.课程总结

5.1.重点

1.三层架构理解;

2.项目结构搭建;

3.页面的导入;

4.项目环境搭建;

5.如何编写一个功能;

6.员工信息的CRUD操作;

5.2.难点

1.三层架构理解;

2.项目结构搭建;

3.页面的导入;

4.项目环境搭建;

5.如何编写一个功能;

6.员工信息的CRUD操作;

5.3.如何掌握

课上认真听课;

2.完成课后练习;

3.抓住课程重点;

4.掌握一个功能的执行流程;

5.将模块功能化,功能层次化,一层一层的写代码;

5.4.排错技巧

1.通过异常和错误找出问题,分析问题,解决问题;

2.分层排除错误;

6.常见问题

7.课后练习

1.课堂代码1-2遍;

8.面试题

1.简述什么是三层架构? (预计5分钟完成)

2.Servlet是不是单例的?线程安全吗? (预计2分钟完成)

3.Servlet中能否定义成员变量? (预计5分钟完成)

9.扩展知识或课外阅读推荐(可选)

9.1.扩展知识

9.2.课外阅读

目录
相关文章
|
6月前
|
Java 关系型数据库 MySQL
毕设项目&课程设计&毕设项目:springboot+jsp实现的房屋租租赁系统(含教程&源码&数据库数据)
本文介绍了一款基于Spring Boot和JSP技术的房屋租赁系统,旨在通过自动化和信息化手段提升房屋管理效率,优化租户体验。系统采用JDK 1.8、Maven 3.6、MySQL 8.0、JSP、Layui和Spring Boot 2.0等技术栈,实现了高效的房源管理和便捷的租户服务。通过该系统,房东可以轻松管理房源,租户可以快速找到合适的住所,双方都能享受数字化带来的便利。未来,系统将持续优化升级,提供更多完善的服务。
毕设项目&课程设计&毕设项目:springboot+jsp实现的房屋租租赁系统(含教程&源码&数据库数据)
|
6月前
|
存储 前端开发 Java
JavaWeb基础6——Request,Response,JSP&MVC
Request继承体系、获取请求头行体的方法、IDEA使用模板创建Servlet、请求参数中文乱码解决、请求转发、Respones重定向、Response响应字节字符数据、JSP、EL 表达式、JSTL标签、MVC模式和三层架构
JavaWeb基础6——Request,Response,JSP&MVC
|
7月前
|
缓存 安全 Java
Java服务器端技术:Servlet与JSP的集成与扩展
Java服务器端技术:Servlet与JSP的集成与扩展
71 3
|
7月前
|
存储 缓存 前端开发
Servlet与JSP在Java Web应用中的性能调优策略
Servlet与JSP在Java Web应用中的性能调优策略
67 1
|
7月前
|
安全 Java 关系型数据库
毕设项目&课程设计&毕设项目:基于springboot+jsp实现的健身房管理系统(含教程&源码&数据库数据)
本文介绍了一款基于Spring Boot和JSP技术实现的健身房管理系统。随着健康生活观念的普及,健身房成为日常锻炼的重要场所,高效管理会员信息、课程安排等变得尤为重要。该系统旨在通过简洁的操作界面帮助管理者轻松处理日常运营挑战。技术栈包括:JDK 1.8、Maven 3.6、MySQL 8.0、JSP、Shiro、Spring Boot 2.0等。系统功能覆盖登录、会员管理(如会员列表、充值管理)、教练管理、课程管理、器材管理、物品遗失管理、商品管理及信息统计等多方面。
|
7月前
|
供应链 前端开发 Java
JSP+servlet+mybatis+layui服装库存管理系统(大三上学期课程设计)
这篇文章通过一个服装库存管理系统的实例,展示了在Spring Boot项目中使用Ajax、JSON、layui、MVC架构和iframe等技术,涵盖了注册登录、权限管理、用户管理、库存管理等功能,并提供了系统运行环境和技术要求的详细说明。
JSP+servlet+mybatis+layui服装库存管理系统(大三上学期课程设计)
|
7月前
|
存储 Java 关系型数据库
基于Servlet和JSP的Java Web应用开发指南
基于Servlet和JSP的Java Web应用开发指南
161 0
|
7月前
|
前端开发 安全 Java
在Java服务器端开发的浩瀚宇宙中,Servlet与JSP犹如两颗璀璨的明星,它们联袂登场,共同编织出动态网站的绚丽篇章。
在Java服务器端开发的浩瀚宇宙中,Servlet与JSP犹如两颗璀璨的明星,它们联袂登场,共同编织出动态网站的绚丽篇章。
47 0
|
9月前
|
自然语言处理 前端开发 Java
Servlet与JSP:Java Web开发的基石技术详解
【6月更文挑战第23天】Java Web的Servlet与JSP是动态网页的核心。Servlet是服务器端的Java应用,处理HTTP请求并响应;JSP则是结合HTML与Java代码的页面,用于动态内容生成。Servlet通过生命周期方法如`init()`、`service()`和`destroy()`工作,而JSP在执行时编译成Servlet。两者在MVC架构中分工,Servlet处理逻辑,JSP展示数据。尽管有Spring MVC等框架,Servlet和JSP仍是理解Web开发基础的关键。
152 12
|
9月前
|
存储 Java 关系型数据库
基于Servlet和JSP的Java Web应用开发指南
【6月更文挑战第23天】构建Java Web应用,Servlet与JSP携手打造在线图书管理系统,涵盖需求分析、设计、编码到测试。通过实例展示了Servlet如何处理用户登录(如`LoginServlet`),JSP负责页面展示(如`login.jsp`和`bookList.jsp`)。应用基于MySQL数据库,包含用户和图书表。登录失败显示错误信息,成功后展示图书列表。部署到Tomcat服务器测试功能。此基础教程为深入Java Web开发奠定了基础。
173 10

热门文章

最新文章

相关实验场景

更多