第一步:New Project

建立一个empty Project(name:javaweb)

第二步:新建模块(file->new->module)

这里建立的是普通的JavaSE模块

第三步:让module变成javaEE的模块(让module变成webapp的模块,符合webapp规范,符合servlet规范)

  • 选择servlet模块,后在随机搜索中搜索add framework support(添加框架支持)

  • 在弹出的窗口中,选择web application

  • 选择web appliction的支持之后,idea会自动给你生成一个符合servlet规范的webapp目录

  • 重点:需要注意的是,在IDEA工具中根据Web Application模板生成的目录中有一个web目录,这个目录就代表webapp的根。

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

第五步:编写Servlet (StudentServlet)

  • class SServlet implements Servlet (先在servlet的src目录下建一个软件包如AM,然后在该包下建立一个Java类如SServlet)

  • 这个时候发现Servlet.class文件没有。怎么办?

    将CATALINA_HOME/lib/servlet-api.jar和jsp-api.jar添加到classpath当中(这里的classpath说的是IDEA的ciasspath)

  • 选择servlet模块后在文件找到项目结构

  • 然后在SServlet类中按Ctrl+i添加实现jakarta.servlet.Servlet接口中的5个方法。

*第六步:在Servlet当中的service方法中编写业务代码(我们这里连接数据库了。)**

 @Override
    public void service(ServletRequest request, ServletResponse response)
            throws ServletException, IOException {
        //设置响应内容
        response.setContentType("text/html");
        PrintWriter out = response.getWriter();
        //连接数据库
        Connection conn = null;
        PreparedStatement pa = null;
        ResultSet re = null;
        try {
            //注册驱动
            Class.forName("com.mysql.cj.jdbc.Driver");//alt+回车处理异常
            //获取连接
            String url = "jdbc:mysql://localhost:3306/base1";
            String user = "root";
            String password = "zaqxsw1029";
            conn = DriverManager.getConnection(url, user, password);
            //获取预编译对象
            String sql = "select no,name from student";
            pa = conn.prepareStatement(sql);
            //执行SQL
            re = pa.executeQuery();
            //处理结果集
            while(re.next())
            {
                String no = re.getString("no");
                String name = re.getString("name");
                out.println("no:"+no+" name:"+name + "<br>");
            }
​
​
        } catch (ClassNotFoundException | SQLException e) {
            throw new RuntimeException(e);
        } finally {
            //释放资源
            if (re != null) {
                try {
                    re.close();
                } catch (SQLException e) {
                    throw new RuntimeException(e);
                }
            }
            if (pa != null) {
                try {
                    pa.close();
                } catch (SQLException e) {
                    throw new RuntimeException(e);
                }
            }
            if (conn != null) {
                try {
                    conn.close();
                } catch (SQLException e) {
                    throw new RuntimeException(e);
                }
            }
        }
​
    }
​

第七步:在WEB-INF目录下新建了-个子目录:lib (这个目录名可不能随意,必须是全部小写的ib),并且将连接数据库的驱动jar包放到ib目录下(即将mysql的jar包复制粘贴到lib目录)。

第八步:在web.xml文件中完成SServlet类的注册(请求路径和Servlet之间对应起来)

//以StudnetSerlvet类为例
<?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>studentSerlvet</servlet-name>
        <servlet-class>come.StudentSerlvet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>studentSerlvet</servlet-name>
        <url-pattern>/servlet/student</url-pattern>
    </servlet-mapping>
</web-app>
<!--web.xml文件里面的基本配置-->
<servlet>
  <servlet-name>起个名称</servlet-name>
  <servlet-class>xxx.xxx.xxx.xxx(这是你的Servlet文件路径)</servlet-class>
</servlet>
​
<servlet-mapping>
  <servlet-name>起个名称</servlet-name>      
  <url-pattern>/xxx/xxx(这是你回头在浏览器里面访问Servlet文件的路径)</url-pattern>   
</servlet-mapping>

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

  • 新建一个index.html文件

  • 这个文件不能放到WEB-INF目录里面,应该放到跟WEB-INF同一级目录中

  • index.heml的内容

<!--StudentSerlvet的index.html的内容为例-->
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<a href="/xxm/servlet/student">stduent list</a>
</body>
</html>

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

  • 在搜索栏中搜索”add configuration“后,选择“当前文件”后,点击“编辑配置”

  • 在弹出的界面中设置Servlet的参数(除了加上对应的jdk,基本上不用动)

  • 点击部署,继续点击加号,部署即可

  • 修改application context为”/xxm“

第十一步:启动Tomcat服务器

采用debug的模式启动服务器(即点击一个绿色小虫子)

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐