tomcat链接数据库

  • Post author:
  • Post category:其他

说明:该链接以水果库存系统为例。

一、链接流程及注意事项

  1. 新建项目 – 新建模块

  2. 在模块中添加web

  3. 创建artifact – 部署包

  4. lib – artifact
    先有artifact,后来才添加的mysql.jar。此时,这个jar包并没有添加到部署包中
    那么在projectSettings中有一个Problems中会有提示的,我们点击fix选择add to…
    另外,我们也可以直接把lib文件夹直接新建在WEB-INF下。
    这样不好的地方是这个lib只能是当前这个moudle独享。如果有第二个moudle我们需要再次重复的新建lib。

  5. 在部署的时候,修改application Context。然后再回到server选项卡,检查URL的值。
    URL的值指的是tomcat启动完成后自动打开你指定的浏览器,然后默认访问的网址。
    启动后,报错404.404意味着找不到指定的资源。
    如果我们的网址是:http://localhost:8080/pro01/ , 那么表明我们访问的是index.html.
    我们可以通过<welcome-file-list>标签进行设置欢迎页(在tomcat的web.xml中设置,或者在自己项目的web.xml中设置)

  6. 405问题。当前请求的方法不支持。比如,我们表单method=post , 那么Servlet必须对应doPost。否则报405错误。

  7. 空指针或者是NumberFormatException 。因为有价格和库存。如果价格取不到,结果你想对null进行Integer.parseInt()就会报错。错误的原因大部分是因为 name=”price”此处写错了,结果在Servlet端还是使用request.getParameter(“price”)去获取。

  8. <url-pattern>中以斜杠开头

二、需要使用的数据库

在这里插入图片描述

CREATE DATABASE fruitdb;

USE fruitdb;

CREATE TABLE t_fruit(
fid INT PRIMARY KEY AUTO_INCREMENT,
fname VARCHAR(20),
price int,
fcount VARCHAR(20),
remark VARCHAR(30)
);

三、具体流程

3.1、创建项目

创建项目时,可以先创建普通的java项目,之后再添加web模块。也可以在创建项目时就选择添加web模块。
(此处先创建项目,后添加模块)

在这里插入图片描述
创建项目后,可以删除src文件夹,把FruitDemo当做总文件夹使用。
在这里插入图片描述
在项目中创建Module
在这里插入图片描述

3.2、为项目添加web模板

步骤一:File ——> Project Structure
在这里插入图片描述
步骤二:Facets ——> “+”号 ——> Web
在这里插入图片描述
步骤三:选择需要添加web模块的module
在这里插入图片描述
步骤四:确认路径是否正确,Create Artifact点击生成web部署包,点击ok完成操作
在这里插入图片描述
步骤五:在Module中出现带蓝点的web文件夹即为操作成功
在这里插入图片描述

3.3、为项目添加MySQL驱动

步骤一:在当前工程下创建lib文件夹,用来存放驱动
在这里插入图片描述
步骤二:“Add as Library” ,把lib文件夹设置为库
在这里插入图片描述
在这里插入图片描述
步骤三:在项目中引用lib(添加依赖)
在这里插入图片描述
在这里插入图片描述步骤四:为部署包添加lib依赖
在这里插入图片描述

3.4、为项目部署tomcat服务器

注意:第一次部署tomcat服务器时,需要在此处添加相应配置
在这里插入图片描述步骤一:
在这里插入图片描述步骤二:
在这里插入图片描述在这里插入图片描述

步骤三:Application context表示访问时链接的后缀
在这里插入图片描述

3.5、创建前端文件

步骤一:在web文件夹下创建index.html文件
在这里插入图片描述

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Fruit</title>
</head>
<body>
<!--
action属性 :当表单提交时向何处发送表单数据
method属性: 指定如何发送表单数据
-->
<form action="add" method="post">
    名称:<input type="text" name="fname"/><br/>
    价格:<input type="text" name="price"/><br/>
    库存:<input type="text" name="fcount"/><br/>
    备注:<input type="text" name="remark"/><br/>
    <input type="submit" value="添加"/>
</form>
</body>
</html>

步骤二:创建AddServlet类
在这里插入图片描述
步骤三:在web ——> WEB-INF ——> web.xml 文件中添加代码,使html和java建立链接
在这里插入图片描述

<servlet>
        <servlet-name>AddServlet</servlet-name>
        <servlet-class>com.AddServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>AddServlet</servlet-name>
        <url-pattern>/add</url-pattern>
    </servlet-mapping>

3.6、为项目添加tomcat依赖

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

3.7、在AddServlet类中对数据进行处理

该部分只有代码,粘贴到idea中,会自动导包

public class AddServlet extends HttpServlet {
    @Override
    public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        
        //为request设置编码方式,避免接受的前端数据中汉字变为乱码
        request.setCharacterEncoding("utf-8");
        
        //接受前端提交的数据
        String fname = request.getParameter("fname");
        String priceStr = request.getParameter("price");
        Integer price = Integer.parseInt(priceStr);
        String fcountStr = request.getParameter("fcount");
        Integer fcount = Integer.parseInt(fcountStr);
        String remark = request.getParameter("remark");

        //调用FruitDAO,向数据库中添加数据
        FruitDAO fruitDAO = new FruitDAOImpl();
        boolean flag = fruitDAO.addFruit(new Fruit(0, fname, price, fcount, remark));
        System.out.println(flag ? "添加成功!" : "添加失败!");
    }
}

版权声明:本文为qq_38923350原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。