同时用到,网页,java程序,数据库的web小应用

发布于:2024-07-16 ⋅ 阅读:(26) ⋅ 点赞:(0)

具体实现功能:通过网页传输添加用户的请求,需要通过JDBC来向 MySql 添加一个用户数据

第一步,部署所有需要用到的工具

IDEA(2021.1),Tomcat(9或10),谷歌浏览器,MySql,jdk(17)

第二步,创建java项目,提前部署数据库

在 idea 中新建一个空的java项目:

我创建的数据库名为 learnbase,执行 use learnbase 命令可以使用该数据库

部署好需要连接的数据库表单,用户表 表名为 t_user,并添加好适当的数据(也可以不添加):

第三步,为项目添加一个java模块

添加一个普通的 java( jdk17)的模块即可

第四步,右键单击模块,将其变为 javaEE 的模块

右键点击后,选择Add Fra... Sup...,会弹出如下窗口

我们勾选 Web App... 后点击 OK

完成之后新增的 web 文件夹便是这个项目的根目录

第五步,将 tomcat 的 lib 文件夹中的 servlet.api.jar 和 jsp.api.jar 导入到 idea 中

file -> Project Stu... -> 找到刚刚创建的模块 -> dependen... -> + -> JAR or ... -> 找到自己安装的 tomcat 目录下的 lib -> 将servlet.api.jar,jsp.api.jar引入 -> apply

操作完毕后 jar 包会被导入到模块中:

第六步,在 src 下创建一个 servlet 文件夹,创建 servlet 实现类

第七步,完成代码的编写

ait + enter 实现 servlet 接口中的所有抽象方法

在 service 方法中编写业务代码,由于需要连接数据库使用JDBC,我们需要先引入 JDBC 相关的 jar 包,我们在 WEB-INF 目录下新建一个 lib 文件夹,将 jar 包复制到里面,右键单击 jar 包,选择 Add as Lib...,不会 JDBC 编程的可以先看我之前写的文章:JDBC 教程

引入依赖后就可以开始编写代码了

package servlet;

import javax.servlet.*;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.*;

public class UserServlet implements Servlet {

    @Override
    public void init(ServletConfig servletConfig) throws ServletException {

    }

    @Override
    public ServletConfig getServletConfig() {
        return null;
    }

    @Override
    public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
        Connection con = null;
        PreparedStatement ps = null;
        //建立连接
        try {
            con = DriverManager.getConnection("jdbc:mysql://localhost:3306/learnbase","root","1234");
            System.out.println("连接数据库成功了");
            //获取数据库操作对象
            ps = con.prepareStatement("insert into t_user values(hajimi,wow,66666)");
            //执行sql
            ps.executeUpdate();
        } catch (SQLException e) {
            e.printStackTrace();
        } finally {
            //释放资源
            if(ps != null){
                try {
                    ps.close();
                } catch (SQLException throwables) {
                    throwables.printStackTrace();
                }
            }
            if(con != null){
                try {
                    con.close();
                } catch (SQLException throwables) {
                    throwables.printStackTrace();
                }
            }
        }
        //加入用户完毕,响应给浏览器
        servletResponse.setContentType("text/html");
        PrintWriter out = servletResponse.getWriter();
        out.print("<p>option succeed!!!</p>");
    }

    @Override
    public String getServletInfo() {
        return null;
    }

    @Override
    public void destroy() {

    }
}

第八步,在 xml 文件中完成申请路径和实现类的对接

双击打开WEB-INF文件夹中的 mxm 文件,编写对应的反射

<?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>userServlet</servlet-name>
        <!--设置访问路径所对应的实现类-->
        <servlet-class>servlet.UserServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>userServlet</servlet-name>
        <!--设置浏览器的访问路径-->
        <url-pattern>/a</url-pattern>
    </servlet-mapping>
    
</web-app>

第九步:让 idea 关联 tomcat 服务器

点击右上角的 Add Config.... -> + -> Tomcat Server - Local  -> configure -> 选择本地的 Tomcat 路径 -> 

先别着急 OK,接下来是部署

点击 Deployment -> + -> Art... -> 在最下端给项目设置浏览器的访问名称

 配置完后就可以点击右上角的 debug 或 运行 按钮启动 Tomcat 了(建议使用debug)

第十步:浏览器输入网址传递请求,完成数据的插入则表示运行成功

可能会遇到的问题
1.在访问时出现500错误

出现这个错误大概率是版本不适配的问题

检查环境变量的jdk版本和模块所使用的版本是否一致,若不一致,需要将jdk版本修正后重新新建一个项目,再从新部署一次

检查是否使用Tomcat10及其以上的版本,但是jdk版本却只有8及其以下,Tomcat较新的版本与Java较老的版本会出现不适配的情况

2.在访问时出现404错误

这是路径设置的问题,检查html文件和xml文件的路径是非正确,点击绿色小锤子旁边的按钮,查看浏览器输入的路径和项目名是否匹配

3.在访问时出现405错误

这是请求和响应不匹配所产生的错误,检查接收参数的名称是否和html设置的name属性的名称一致,检查设置的发送方式是否正确(本次请求使用的是post)

4.连接不到数据库

检查是否导入 数据库的 jar 包到WEB-INF下的 lib 文件夹中,一定要是 WEB-INF下的 lib 文件夹 tomcat 才能准确的找到,lib 文件夹初始是没有的,需要自己创建

检查引入 jar 包依赖后是否完成操作:右键单击依赖,选择 Add as Lib... 选项,若没有做这个操作则没有将 jar 包真正的引入项目中,完成这一步操作后 jar 包会呈现可展开状态,这才表示成功引入 jar 包依赖