【JavaWeb】一步一步教你 javaweb 入门实例 (JSP servlet MySQL)

    技术2026-06-17  8

    【JavaWeb】一步一步教你 javaweb 入门实例 (JSP servlet MySQL)

    一、数据库二、新建项目index.jspLogServlet.javaUser.javaDBUtil.javaLogDao最重要的一步,数据库连接用完后一定要关闭,调用close方法!!! LogServlet,java 三、测试效果代码下载

    2020-07-07 完善增删改查功能


    一、数据库

    数据库:web 表:user

    字段类型idintusernamevarcharpasswordvarchar

    二、新建项目

    MVC分层架构 模型(model)-视图(view)-控制器(controller) src 放后端代码,webcontent放前端代码,lib放第三方jar包 关键代码说明:

    index.jsp

    LogServlet.java

    servlet起名规则一般是功能+Servlet,单词首字母大写。

    这个@WebServlet()里的是这个servlet的访问路径名 @WebServlet() 对应form里的action的值。

    servlet里有两个方法,一个是doGet,一个是doPost,对应form里的method。 doGet和doPost有两个参数,request是用户请求,response是服务器响应。 表单提交获取值servlet从request里获取,调用request的getParameter()方法。这个request.getParameter()里的参数对应input的name属性。这俩是对应的。 到这里,servlet就可以获取前端传递的值了。 下一步建实体类bean。

    User.java

    bean类名一般和表名对应,属性和字段名对应,属性要private修饰,通过public的get和set方法取值赋值,bean体现了java三大特性之一的封装。

    这是生成get、set方法的步骤,eclipse可以帮我们自动生成。

    DBUtil.java

    util是工具类,比如连接数据库,处理中文乱码,格式化时间日期,调用api等等,DBUtil是比较常用的,一般写好一次,以后直接复制使用,注意修改数据库地址,用户名密码。java连接mysql需要一个jar包,放到lib目录下。DBUtil里一般写个测试方法,先试试能不能连,以免后面写一堆,找不出错来。

    package util; import java.sql.*; public class DBUtil { // 本地数据库地址 private static final String URL = "jdbc:mysql://localhost:3306/web?useUnicode=true&characterEncoding=UTF8&useSSL=false&serverTimezone=GMT"; // 本地数据库用户名 private static final String USERNAME = "root"; // 本地数据库密码 private static final String PASSWORD = "root"; // 数据库驱动 private static final String jdbcName = "com.mysql.cj.jdbc.Driver"; /** * 获取数据库连接 */ public static Connection getConnection() throws Exception { Class.forName(jdbcName); Connection connection = DriverManager.getConnection(URL, USERNAME, PASSWORD); return connection; } /* 测试方法 */ public static void main(String[] args) throws Exception { Connection connection = DBUtil.getConnection(); if (connection != null) { System.out.println("连接成功"); } else { System.out.println("连接失败"); } connection.close(); } }

    LogDao

    接下来完善Dao层。DAO(Data Access Object) 数据访问对象。dao层里面一般就写增删改查的方法,不干别的。比如现在登录,需要一个查的方法通过用户名查用户信息。

    下一步写sql语句,要先确保sql语句是可以用的。

    select * from user where username = ?

    然后写到java里,需要注意的是参数是问号。 这个方法的返回值是User对象,所以先实例化一个。

    数据类型 对象 = new 类() User user = new User()

    下一步获取数据库连接。有了数据库工具类,就不用每次都写那么多连数据库的了 获取数据库连接,报错一般放到横线上就会告诉你怎么改。这说调用这个方法需要抛出异常,点第一个就行。 下一步是执行sql语句,这里叫预编译处理,优点是传值方便,防止XSS注入。 下一步是传值,这个PreparedStatement有一些方法是设置值用的,字符串setString(),数字setInt()。那个1是第一个参数,有几个问号就是几个参数。setString(1, username)就是把调用这个方法传进来的值赋给sql的第一个?位置上 ResultSet这个类是获取查询结果的,实例化一个结果集对象。这个结果集有个游标,每从里面取一条记录,就往后走一个。 Resultset有个方法叫next(),调用next方法之后游标就往后走,发现有一条数据,就返回了true。

    然后从rs里获取值,rs.getInt是获取数字类型的数据,括号里的参数是字段名,按照如图所示对应。

    最重要的一步,数据库连接用完后一定要关闭,调用close方法!!!

    到这dao层的一个查询方法就写好了。

    LogServlet,java

    接下来完善servlet 实例化一个Dao层对象。使用try catch捕获异常。 在User类中重写toString方法,用来输出对象的值。

    三、测试效果

    代码下载

    GitHub:https://github.com/wlgc1801lzh/javaweb-example 码云:https://gitee.com/wlgc1801lzh/javaweb-example

    Processed: 0.009, SQL: 10