运用Servlet+JSP+MySQL+JDBCTempleat+Duird+BeanUtilS+tomcat技术。实现用户信息的增删改查操作。(web项目创建及编写准备工作和查询部分)

it2024-02-01  76

学习目标:

运用Servlet+JSP+MySQL+JDBCTempleat+Duird+BeanUtilS+tomcat技术。实现用户信息的增删改查操作。


步骤:

熟悉JavaWeb的相关技术在开发中的编写过程。

编写的基本过程:

需求:用户信息的增删改查操作

设计: 1. 技术选型:Servlet+JSP+MySQL+JDBCTempleat+Duird+BeanUtils+tomcat 2. 数据库设计: create database 数据库名; – 创建数据库 use 数据库名; – 使用数据库 create table 表名( – 创建表 id int primary key auto_increment,–id,主键,自增长 name varchar(20) not null,–姓名,字符,非空 gender varchar(5),–性别,字符 age int,–年龄,整型 address varchar(32),–籍贯(地址),字符 qq varchar(20),–QQ号,字符 email varchar(50)–邮箱,字符 );

开发: 1. 环境搭建:           1. 1. 创建数据库环境。           1. 2. 创建项目,导入需要的jar包 2. 编码

测试

部署运维


编写:

1.创建web项目

2.导入相关jar

需要注意: 在项目下的web文件下需要创建WEB-INF目录,在添加lib目录,所有的jar包都应该放在该目录下。否则在使用相关jar包功能时会出现“500”(服务器端错误)的错误。

      2.1相关jar包

3.在项目的src目录下创建包

      3.1注意包命名(域名倒置规则)。例:com.公司名.项目名

例: 4.包创建好之后,根据数据库表创建对应的entity/domain(实体类对象),并实现属性的get和set方法。

5.编写对应页面的.jsp文件

      .html和.jsp页面转化:直接将.html整个复制到.jsp中(注意:.jsp中只留第一行 <%@ page contentType=“text/html;charset=UTF-8” language=“java” %>)。

注意:在.jsp文件中需要动态获取虚拟路径(作用:方便之后的代码修改和维护)。       例如该项目中:

<a //利用EL表达式动态获取虚拟路径 //${pageContext.request.contextPath} href="${pageContext.request.contextPath}/findUserByPageServlet" style="text-decoration:none;font-size:33px">查询所有用户信息 </a> 6.根据上面需要跳转到的servlet,在(域名倒置.web包)下创建对应的servlet。

7.根据三层架构分析servlet(界面层)需要调用到service(业务逻辑层)来实现。

实现:1.需要创建对应的IxxxService接口和xxxserviceImpl实现类。            2.分析需要Service层实现的具体功能(分析返回值类型)。例如我们完成查询到所有数据(返回List<User>),就在IxxxService接口里面声明public List<User> findAll();,在xxxserviceImpl中实现它的功能。(面向接口编程)。

8.根据三层架构分析service(业务逻辑层)的具体功能实现需要调用到数据库的数据,即需要调用dao(数据访问层)来实现。

      8.1使用Druid(德鲁伊)数据库连接池.             8.1.1导入配置文件(druid.properties)             8.1.2将JDBCUtils.java导入到util包中。

/** * JDBC工具类 使用Durid连接池 */ public class JDBCUtils { private static DataSource ds ; static { try { //1.加载配置文件 Properties pro = new Properties(); //使用ClassLoader加载配置文件,获取字节输入流 InputStream is = JDBCUtils.class.getClassLoader().getResourceAsStream("druid.properties"); pro.load(is); //2.初始化连接池对象 ds = DruidDataSourceFactory.createDataSource(pro); } catch (IOException e) { e.printStackTrace(); } catch (Exception e) { e.printStackTrace(); } } /** * 获取连接池对象 */ public static DataSource getDataSource(){ return ds; } /** * 获取连接Connection对象 */ public static Connection getConnection() throws SQLException { return ds.getConnection(); } }

            8.1.3在对应的dao层实现类中去获取数据库链接对象                   例:       8.2操作数据库(获取数据库中的值并返回给service(业务逻辑层)) 9.在list.jsp界面上显示出servlet(显示层)获取到的数据,通过request转发到jsp界面上。 10.list.jsp界面获取并显示值(用EL表达式和JSTL标签)

11.最终完成结果:

注:页面用到BootStrap的布局。


总结:

web项目实现查询过程:

充分利用到三层架构来实现查询----->显示的过程。图解如下:

最新回复(0)