JDBC入门级教程——表单数据获取(三)

JDBC入门级教程——表单数据获取(三)

    • 编写Servlet表单控制器:Servlet.java
    • 编写简易Html表单:form.html
    • 结果验证jsp页面:index.jsp
    • 编写java bean过渡表单数据:嵌入到Servlet.java中
    • 在webinf中的配置:web.xml
    • 在JDBC(一)中:Tool工具类的改进
    • 运行效果截图:

编写Servlet表单控制器:Servlet.java

package CSDN;

import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.annotation.*;
import java.io.IOException;
import java.sql.Connection;
import java.sql.SQLException;

@WebServlet(name = "Servlet", value = "/Servlet")
public class Servlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        response.setContentType("text/html;charset=UTF-8");
//        设置响应内容类型
    }

    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        response.setContentType("text/html;charset=UTF-8");
//        设置响应内容类型
        request.setCharacterEncoding("UTF-8");
//        用来确保发往服务器的参数的编码格式,设置从request中取得的值
        info_bean t1 =new info_bean();
        t1.setName(request.getParameter("input_1"));
        t1.setPhone(request.getParameter("input_2"));
        JDBC t2=new JDBC();
        try {
            Connection connection=t2.getConnection();
            Tool t3=new Tool();
            t3.add_no(connection,t1.getName(), t1.getPhone());
        } catch (ClassNotFoundException | SQLException e) {
            throw new RuntimeException(e);
        }
        request.getRequestDispatcher("index.jsp").forward(request, response);
//        RequestDispatcher有两种方法:
//        forward()-将请求从 Servlet 转发到另一个资源
//        include()-在响应中包含资源的内容
//        request.getRequestDispatcher("文件路径").forward(request, response);

    }
}

编写简易Html表单:form.html

DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>表单数据提取title>
head>
<body>
<form action="servlet_address" method="post" >
    <label>

        请输入名字
        <input type="text" name="input_1" />
    label>
    <label>
        请输入电话
        <input type="text" name="input_2" />
    label>
    <input type="submit" value="数据提交">
form>

body>
html>

结果验证jsp页面:index.jsp

<%--
  Created by IntelliJ IDEA.
  User: 28730
  Date: 2022/8/11
  Time: 14:19
  To change this template use File | Settings | File Templates.
--%>
<%@ page language="java" contentType="text/html; charset=utf-8"
         pageEncoding="utf-8"%>
<%@page import="java.sql.*"%>
<%--导入java.sql包--%>
<html>
<head>
    <title>删除数据</title>
</head>
<body>

<%
    try {
        Class.forName("com.mysql.cj.jdbc.Driver");//注册驱动
        String url = "jdbc:mysql://localhost:3306/CSDN"; //数据库名
        String username = "root"; //数据库用户名
        String password = "1234"; //数据库用户密码
        Connection conn = DriverManager.getConnection(url, username, password); //连接状态
%>

<table >
    <tr>
        <th>姓名</th>
        <th>电话</th>
    </tr>

        <%
				Statement stmt = null;
					ResultSet rs = null;
					String sql = "SELECT * FROM test;"; //查询语句
					stmt = conn.createStatement();
					rs = stmt.executeQuery(sql);
					while (rs.next()) {
			%>

    <tr>
        <td><%=rs.getString("name")%></td>
        <td><%=rs.getString("phone")%></td>
    </tr>

        <%
				}
				} catch (Exception e) {
					e.printStackTrace();
					System.out.println("出现异常:数据库连接问题");
				}
			%>

</body>
</html>

编写java bean过渡表单数据:嵌入到Servlet.java中


class info_bean{
//    封装信息类
    public String name;
    public String phone;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getPhone() {
        return phone;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }
}

在webinf中的配置:web.xml


<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>servlet_formservlet-name>
        <servlet-class>CSDN.Servletservlet-class>
    servlet>
    <servlet-mapping>
        <servlet-name>servlet_formservlet-name>
        <url-pattern>/servlet_addressurl-pattern>
    servlet-mapping>
    
    <welcome-file-list>
        <welcome-file>./form.htmlwelcome-file>
    welcome-file-list>
    
    
web-app>

在JDBC(一)中:Tool工具类的改进

原文链接地址:
JDBC入门级教程——连接篇(一)
JDBC入门级教程——应用篇(二)
添加方法代码如下:

    public void add_no(Connection connection,String name,String phone) throws SQLException {
//        信息添加带参数型
        String sql="insert into test (name,phone)" +
                "value (?,?)";
        PreparedStatement preparedStatement=connection.prepareStatement(sql);
//        PreparedStatement是Statement的子接口  可以传入带占位符的SQL语句
        preparedStatement.setString(1,name);
        preparedStatement.setString(2,phone);
//        ""中填写需要改变的值,根据需要可以以参数形式放入,或利用java bean组件操作
//        此处不做样例
        int number=preparedStatement.executeUpdate();
        System.out.println("受影响行数:"+number);
//        executeUpdate 的返回值是一个整数,指示受影响的行数
    }

运行效果截图:

JDBC入门级教程——表单数据获取(三)_第1张图片
JDBC入门级教程——表单数据获取(三)_第2张图片
主要为基础语法应用,后续将在GitHub同步上传代码。

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