web一些实验代码——Servlet请求与响应

实验4:Servlet请求与响应

1、在页面输入学生学号,从数据库中查询学生信息并显示。

(1)启动MySQL数据库服务,新建数据库,将student.sql文件导入到新建数据库(建立表,并插入3条数据)

web一些实验代码——Servlet请求与响应_第1张图片

(2)新建html页面:




    
    Title


用户名:
密码:

(3)新建DbUtil类:

package com.example.weeebbbb;

import java.sql.*;

public class DbUtil {
    public static String DRIVER ="com.mysql.jdbc.Driver";//数据库
    public static final String URL ="jdbc:mysql://localhost:3306/student?useSSL=false";
    public static final String DBUser = "root";
    public static final String DBPassword = "123456";
    public static Connection conn = null;

    public static Connection getConn(String dbDri,String dbUrl,String username,String pass) {
        try {
            Class.forName(DRIVER);
            conn = DriverManager.getConnection(URL, DBUser, DBPassword);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return conn;
    }
}

(4)在web.xml文件中配置数据库连接信息:

    
        dbUrl
        jdbc:mysql://localhost:3306/student
    

    
        duUsername
        root
    

    
        dbPassword
        root
    

    
        jdbcDriver
        com.mysql.jdbc.Driver
    

(5)在pom.xml文件中添加MySQL驱动依赖(需要联网,一定要考虑自己数据库的版本,注意驱动版本和web.xml文件中的jdbcDriver驱动字符串的写法),则项目可不用导入MySQL驱动jar包,

 
            mysql
            mysql-connector-java
            5.1.49

(6)新建Servlet,完成获取网页表单提交的学号信息,并从数据库中查询此学号学生的信息,并响应输出:

package com.example.weeebbbb;

import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

@WebServlet(name ="wek4_queryServlet",value = "/wek4_queryServlet")
public class wek4_queryServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        System.out.println("1111");
        resp.setContentType("text/html;charset=utf-8");
        String stuNum=req.getParameter("stuNum");
        ServletContext context=this.getServletContext();
        String dbUrl=context.getInitParameter("dbUrl");
        String dbUsername=context.getInitParameter("dbUsername");
        String dbPassword=context.getInitParameter("dbPassword");
        String jdbcDriver=context.getInitParameter("jdbcDriver");
        Connection connection=DbUtil.getConn(dbUrl,dbUsername,dbPassword,jdbcDriver);
        String sql="select * from student where stuNum=?";
        PreparedStatement pst=null;
        try{
            pst= connection.prepareStatement(sql);
            pst.setString(1,stuNum);
            ResultSet rs=pst.executeQuery();
            String str="";
            System.out.println("11111");
            if(rs.next()){
                System.out.println("22222");
                str="这位同学的学号是"+rs.getString("stuNum")+",姓名是:"+rs.getString("stuName");
            }else{

                str="查无此人";
            }
            resp.getWriter().println(str);
        }catch (SQLException e){
            e.printStackTrace();
        }
    }
}

(7)新建输入信息页面:

<%--
  Created by IntelliJ IDEA.
  User: cic
  Date: 2023/11/8
  Time: 14:19
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>


    
    Title


请输入学号:

查询已有数据:

web一些实验代码——Servlet请求与响应_第2张图片

查询成功:

web一些实验代码——Servlet请求与响应_第3张图片

查询不存在的数据:

web一些实验代码——Servlet请求与响应_第4张图片

查询失败:

web一些实验代码——Servlet请求与响应_第5张图片

你可能感兴趣的:(前端)