JavaWeb通过IDEA配置Servlet操作流程详解

作者:知奕奕 时间:2023-10-09 09:26:23 

创建项目

首先创建一个空项目!!!注意是空项目!!!

点击 文件->新建->新模块 ,新建一个名称为 servlet02 的模块(注意该模块的生成位置应该在我们刚刚新建的空项目下面!!!)

JavaWeb通过IDEA配置Servlet操作流程详解

之后右键点击新模块 servlet02,选择 “添加框架支持”

勾选 “web 应用程序” ,之后直接点击完成即可自动生成 webapp 框架;

JavaWeb通过IDEA配置Servlet操作流程详解

引入外部 jar

文件 -> 项目结构

模块 -> servlet02 -> 依赖 -> 点击加号,并选择第一个项目

找到 tomcat 根目录下的 lib 文件夹,选择 jsp-api.jarservlet-api.jar 两个包并导入!

JavaWeb通过IDEA配置Servlet操作流程详解

安装 mysql-connector

前往 maven 中心仓库,搜索 mysql-connector;

或者直接前往此地址:https://mvnrepository.com/artifact/mysql/mysql-connector-java

因为我使用的是 mysql5.7 版本,所以我们找到仓库内的 5.1.x 中最新的那一个版本,下载其 jar 包就好了(5.1.x 版本兼容 5.7)

JavaWeb通过IDEA配置Servlet操作流程详解

下载完毕后直接把该 jar 包,粘贴到 tomcat 根目录下的 lib 文件夹里面!

编写 servlet 文件

下面就是标准的 JDBC 操作了,请您直接看注释,一个个解释太累了

package com.zhiyiyi.javaweb.servlet;
import jakarta.servlet.*;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.*;
public class StudentServlet implements Servlet {
   @Override
   public void init(ServletConfig servletConfig) throws ServletException {
   }
   @Override
   public ServletConfig getServletConfig() {
       return null;
   }
   @Override
   public void service(ServletRequest request, ServletResponse response) throws ServletException, IOException {
       // 设置请求头类型
       response.setContentType("text/html");
       // 设置输出
       PrintWriter printWriter = response.getWriter();
       // 为三件套分配内存空间
       Connection conn = null;
       PreparedStatement ps = null;
       ResultSet rs = null;
       try {
           // 反射获取jdbc驱动
           Class.forName("com.mysql.jdbc.Driver");
           // 传入你的mysql数据库名称、用户名、密码
           String url = "jdbc:mysql://localhost:3306/jakarta";
           String user = "root";
           String password = "123456";
           // 链接数据库
           conn = DriverManager.getConnection(url, user, password);
           // 编写查询语句并执行,使用resultset取回查询结果
           String sql = "select no, name from std1";
           ps = conn.prepareStatement(sql);
           rs = ps.executeQuery();
           // 打印从数据库中取回的结果
           while (rs.next()) {
               String no = rs.getString("no");
               String name = rs.getString("name");
               printWriter.println(no + " " + name + "<br>");
           }
       // 一些错误处理
       } catch (ClassNotFoundException | SQLException e) {
           throw new RuntimeException(e);
       } finally {
           if (rs != null) {
               try {
                   rs.close();
               } catch (SQLException e) {
                   e.printStackTrace();
               }
           }
           if (ps != null) {
               try {
                   ps.close();
               } catch (SQLException e) {
                   e.printStackTrace();
               }
           }
           if (conn != null) {
               try {
                   conn.close();
               } catch (SQLException e) {
                   e.printStackTrace();
               }
           }
       }
   }
   @Override
   public String getServletInfo() {
       return null;
   }
   @Override
   public void destroy() {
   }
}

编写 student.html 文件

我们生成的 webapp 模板默认是自带一个 index.jsp 的,目前用不到,先删掉;

在同样的位置新建一个 student.html 文件,输入以下代码;

这里使用了一个链接指向了我们刚刚编写的 servlet;

<html>
 <head>
   <meta charset="UTF-8" />
   <title>student servlet</title>
 </head>
 <body>
   <a href="/crm/servlet/student" rel="external nofollow" >student list</a>
 </body>
</html>

配置 tomcat 服务器

点击 idea 右上角绿色小三角左边的下拉列表,选择&ldquo;添加配置&rdquo;

弹出窗口点击加号 -> tomcat 服务器 -> 本地

然后按照下图所示填充内容

注意:由于我的电脑端口被占用,所以我修改了 http 端口为 10086,事实上这一项我们保持默认不用管就可以了!

JavaWeb通过IDEA配置Servlet操作流程详解

再次进入&ldquo;部署&rdquo;栏目,点击加号添加工件,然后设置应用程序上下文为/crm 即可;

这里的 /crm 对应我们之前的 student.html 链接里的/crm

/crm 表示项目的目录

JavaWeb通过IDEA配置Servlet操作流程详解

运行并查看服务器

一切配置完毕,点击绿色按钮开始构建 tomcat 服务器;

此时因为我们勾选了服务器一启动就打开浏览器的选项,但我们发现刚刚打开的浏览器 404 报错;

别着急,只是路径对不上,我们将 url 改为我们设置的 herf 路径即可访问到 mysql 提取的数据了!!!

JavaWeb通过IDEA配置Servlet操作流程详解

来源:https://blog.csdn.net/delete_you/article/details/127163670

标签:JavaWeb,IDEA,配置,Servlet
0
投稿

猜你喜欢

  • JAVA通过Filter实现允许服务跨域请求的方法

    2022-08-02 02:17:46
  • Java 栈和队列的相互转换详解

    2021-09-22 05:00:12
  • java 生成xml并转为字符串的方法

    2023-01-07 08:27:30
  • springcloud中RabbitMQ死信队列与延迟交换机实现方法

    2023-05-04 04:25:54
  • java两个integer数据判断相等用==还是equals

    2021-06-14 00:46:52
  • C++实现幸运大抽奖(QT版)

    2021-09-15 21:32:00
  • Spring Core动态代理的实现代码

    2021-12-11 03:40:54
  • Android编程实现自定义手势的方法详解

    2023-09-14 16:02:36
  • MyBatis Oracle 自增序列的实现方法

    2023-08-03 11:30:08
  • BaseJDBC和CRUDDAO的写法实例代码

    2022-09-03 14:13:33
  • 浅谈Java中几种常见的比较器的实现方法

    2022-04-08 19:04:36
  • 全面理解java中的异常处理机制

    2023-10-26 04:08:20
  • Android滑动冲突的完美解决方案

    2021-08-12 16:41:34
  • C#语言中字符类char的使用方法(总结)

    2022-09-04 17:25:43
  • java实现微信点餐申请微信退款

    2022-10-29 19:07:57
  • ContentProvider启动流程示例解析

    2023-07-31 03:57:34
  • kotlin使用Dagger2的过程全纪录

    2021-08-18 05:45:54
  • 完美解决Android Studio集成crashlytics后无法编译的问题

    2023-06-23 16:49:07
  • Android仿京东搜索框渐变效果

    2022-09-08 19:57:05
  • 基于Java Springboot + Vue + MyBatis实现音乐播放系统

    2023-07-09 16:01:41
  • asp之家 软件编程 m.aspxhome.com