Servlet扩展案例

扩展案例

1、创建module

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

2、创建前端网页

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>提交用户信息存储到数据库</title>
</head>
<body>
<form action="http://localhost:8080/testHelloServlet_war_exploded/TestServlet">
用户名:
<input type="text" name="username">
<br />
密码:
<input type="password" name="password">
<br />
爱好:
<input type="checkbox" name="hobby" value="篮球"/>篮球
<input type="checkbox" name="hobby" value="足球"/>足球
<input type="checkbox" name="hobby" value="乒乓球"/>乒乓球

<br />
<input type="submit" value="提交">
</form>
</body>
</html>

2、创建servlet程序

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
         version="4.0">
    <servlet>
        <servlet-name>TestServlet</servlet-name>
        <servlet-class>TestServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>TestServlet</servlet-name>
        <url-pattern>/TestServlet</url-pattern>
    </servlet-mapping>
</web-app>
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;

public class TestServlet extends HttpServlet {
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        response.setContentType("text/html;charset=utf-8");
        PrintWriter out = response.getWriter();
        out.write("访问成功");
    }
}

在这里插入图片描述

3、创建表(将网页提交的数据写入数据库)

表结构如下
在这里插入图片描述

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.util.Arrays;

public class TestServlet extends HttpServlet {
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        response.setContentType("text/html;charset=utf-8");
        PrintWriter out = response.getWriter();
        out.write("访问成功");
//        1、获取请求参数
        String username = request.getParameter("username");
        String password = request.getParameter("password");
        String[] hobbies = request.getParameterValues("hobby");
        System.out.println(username + "," + password + ","+ Arrays.toString(hobbies));
//        2、利用jdbc将上面的数据存储到数据库中

        try {
            //        2.1加载驱动
            Class.forName("com.mysql.jdbc.Driver");

           //2.通过驱动管理器获取连接对象
            String url="jdbc:mysql://192.168.229.80:3306/user?characterEncoding=utf8";
            String user="root";
            String pwd="abc123";
            Connection connection = DriverManager.getConnection(url, user, pwd);
            //3.编写SQL语句
            String sql="insert into testservlet values(null,?,?,?)";
            //4.创建预处理命令对象
            PreparedStatement ps = connection.prepareStatement(sql);
            //5.填充参数
            ps.setString(1,username);
            ps.setString(2,password);
            ps.setString(3,Arrays.toString(hobbies));
            //6.执行更新
            ps.executeUpdate();
            //7.释放资源
            ps.close();
            connection.close();
        } catch (Exception e) {
            e.printStackTrace();
        }

    }
}

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值