JavaWeb: IntelliJ IDEA集成开发环境下开发第一个servlet程序(JDBC)Tomcat

JavaWeb: IntelliJ IDEA集成开发环境下开发第一个servlet程序

第一步:创建工程

New Project:先创建一个空工程(Empty Projcet),起名为:javaweb。

第二步:新建模块

File --> new --> Module…
这里新建的是一个普通的JavaSE模块,这个Module自动会被放在javaweb的project下面。起名为:servlet01。

第三步:让Module变成JavaEE的模块

让Module变成webapp的模块。符合webapp规范。符合Servlet规范的Module。

  • 在Module上点击右键:Add Framework Support…(添加框架支持)
  • 在弹出的窗口中,选择Web Application(选择的是webapp的支持)
  • 选择了这个webapp的支持之后,IDEA会自动给你生成一个符合Servlet规范的webpp目录结构。
    重点,需要注意的:在IDEA工具中根据Web Application模板生成的目录中有一个web目录,这个目录就代表webapp的根

第四步:(非必须):根据Web Application生成的资源中有index.jsp文件,这里我选择删除这个index.jsp文件。

第五步:编写Servlet(StudentServlet)

class StudentServlet implements Servlet
Servlet.class文件没有,将CATALINA_HOME/lib/servlet-api.jarjsp-api.jar添加到classpath当中(这里的classpath说的是IDEA的classpath
File --> Project Structrue --> Modules --> + 加号 --> Add JARS…
JavaWeb: IntelliJ IDEA集成开发环境下开发第一个servlet程序(JDBC)Tomcat_第1张图片
实现jakarta.servlet.Servlet接口中的5个方法。

第六步:在Servlet当中的service方法中编写业务代码(连接数据库)
JavaWeb: IntelliJ IDEA集成开发环境下开发第一个servlet程序(JDBC)Tomcat_第2张图片
实现StudentServlet类:

package com.lhr.javaweb.servlet;

import jakarta.servlet.Servlet;
import jakarta.servlet.ServletException;
import jakarta.servlet.ServletRequest;
import jakarta.servlet.ServletResponse;
import jakarta.servlet.ServletConfig;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.*;


public class StudentServlet implements Servlet{

    public void init(ServletConfig config) throws ServletException{

    }

    public void service(ServletRequest request,ServletResponse response)
            throws ServletException , IOException{

        response.setContentType("text/html");
        PrintWriter out = response.getWriter();

        // 编写JDBC代码,连接数据库,查询所有学生信息。
        Connection conn = null;
        PreparedStatement ps = null;
        ResultSet rs = null;
        try{
            // 注册驱动 (com.mysql.jdbc.Driver,这个已过时。)
            // 新版本中建议使用:com.mysql.cj.jdbc.Driver驱动。
            Class.forName("com.mysql.cj.jdbc.Driver");
            // 获取连接
            String url = "jdbc:mysql://localhost:3306/student";
            String user = "root";
            String password = "luhaoran2001";
            conn = DriverManager.getConnection(url,user,password);
            // 获取预编译的数据库操作对象
            String sql = "select no,name from t_student";
            ps = conn.prepareStatement(sql);
            // 执行SQL
            rs = ps.executeQuery();
            // 处理查询结果集
            while(rs.next()){
                String no = rs.getString("no");
                String name = rs.getString("name");
                //System.out.println(no + "," + name);
                out.print(no + "," + name + "
"
); } }catch(Exception e){ e.printStackTrace(); }finally{ // 释放资源 if(rs != null){ try{ rs.close(); }catch(Exception e){ e.printStackTrace(); } } if(ps != null){ try{ ps.close(); }catch(Exception e){ e.printStackTrace(); } } if(conn != null){ try{ conn.close(); }catch(Exception e){ e.printStackTrace(); } } } } public void destroy(){ } public String getServletInfo(){ return ""; } public ServletConfig getServletConfig(){ return null; } }

这里再补充下mysql数据库的相关配置:
JavaWeb: IntelliJ IDEA集成开发环境下开发第一个servlet程序(JDBC)Tomcat_第3张图片
建立student数据库,建立t_student表,插入四条数据。
查看表的内容:
JavaWeb: IntelliJ IDEA集成开发环境下开发第一个servlet程序(JDBC)Tomcat_第4张图片

第七步:在WEB-INF目录下新建了一个子目录:lib,并且将连接数据库的驱动jar包放到lib目录下。

在web.xml文件中完成StudentServlet类的注册。(请求路径和Servlet之间对应起来)


<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>studentServletservlet-name>
        <servlet-class>com.bjpowernode.javaweb.servlet.StudentServletservlet-class>
    servlet>
    <servlet-mapping>
        <servlet-name>studentServletservlet-name>
        <url-pattern>/servlet/studenturl-pattern>
    servlet-mapping>
    
web-app>

第九步:给一个html页面,在HTML页面中编写一个超链接,用户点击这个超链接,发送请求,Tomcat执行后台的StudentServlet。

student.html这个文件不能放到WEB-INF目录里面,只能放到WEB-INF目录外面。
student.html文件的内容:

DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>student pagetitle>
head>
<body>
    
    <a href="/xmm/servlet/student">student lista>
body>
html>

第十步:让IDEA工具去关联Tomcat服务器。关联的过程当中将webapp部署到Tomcat服务器当中。

  • IDEA工具右上角,绿色小锤子右边有一个:Add Configuration
  • 左上角加号,点击Tomcat Server --> local
  • 在弹出的界面中设置服务器Server的参数(基本上不用动)
  • 在当前窗口中有一个Deployment(点击这个用来部署webapp),继续点击加号,部署即可。
  • 修改 Application context为:/xmm
    JavaWeb: IntelliJ IDEA集成开发环境下开发第一个servlet程序(JDBC)Tomcat_第5张图片

第十一步:启动Tomcat服务器

在右上角有绿色的箭头,或者绿色的小虫子,点击这个绿色的小虫子,可以采用debug的模式启动Tomcat服务器。
注意:
此时运行发生了报错是apache-Tomcat在mac中权限的问题,解决的方法,找到Tomcat的目录下(终端下):
# sudo chmod -R755 apache-tomcat-10.0.12
启动界面如下:
JavaWeb: IntelliJ IDEA集成开发环境下开发第一个servlet程序(JDBC)Tomcat_第6张图片

第十二步:打开浏览器,在浏览器地址栏上输入:http://localhost:8080/xmm/student.html

演示结果如下:
JavaWeb: IntelliJ IDEA集成开发环境下开发第一个servlet程序(JDBC)Tomcat_第7张图片
JavaWeb: IntelliJ IDEA集成开发环境下开发第一个servlet程序(JDBC)Tomcat_第8张图片
恭喜你完成了第一个servlet程序。

你可能感兴趣的:(intellij-idea,tomcat,java)