(Servlet【三】)使用IDEA集成开发工具开发Servlet,各个位置URL如何填写

一、开发步骤:

第一步:New Empty project,起名javaweb

第二步:New Module,起名:servlet01

第三步:让Module变成javaEE模块。(让Module变成webapp的模块。符合webapp规范。符合Servlet规范的Module)
在Module上点击右键:Add Framework Supprt…(添加框架支持)
在弹出的窗口中,选择Web Application(选择的是webapp的支持)
选择了这个webapp的支持之后,IDEA会自动生成一个符合Servlet规范的webapp目录结构

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

第五步:编写Servlet (Firstservlet)

class Firstservlet implements Servlet
这个是时候发现Servlet.class文件没有。怎么办?将CATALINA_HOME/lib/servlet-api.jar 和 sp-api.jar添加到我们的classpath当中(这里的classpath说的是IDEA的classpath)
File --> Project Structrue–> Modules -->Dependencies–> +加号—> Add(添加) JARS…
实现jakarta.servlet.Servlet接口中5个方法。

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

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

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

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

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

IDEA工具右上角,绿色小锤子右边有一个 :Add Configguration,
左上角加号,点击加号,然后找到Tomcat Server -> local并单击,
在弹出的界面中设置服务器Server的服务参数(基本上不用动),
在当前界面窗口中有一个Deployment(点击这个用来部署webapp),继续点击加号,部署即可,
修改Application context为:你想要的目录名称(注意:以‘/’开头)

第十一步:启动Tomcat服务器
在右上角有一个debug按钮,可以采用debug的模式启动服务器

二、程序:

  1. 应用结构:
    (Servlet【三】)使用IDEA集成开发工具开发Servlet,各个位置URL如何填写_第1张图片
  2. HTML代码:
DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Titletitle>
head>
<body>
	
    <a href="/xmm/suiyi/suiyi2">click me!a>

body>
html>
  1. xml配置文件信息:

<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>suibianservlet-name>
        
        <servlet-class>mypackage.FirstServletservlet-class>
    servlet>

    
    <servlet-mapping>
        <servlet-name>suibianservlet-name>
        
        <url-pattern>/suiyi/suiyi2url-pattern>
    servlet-mapping>
    
    
web-app>
  1. java代码:
package mypackage;

import jakarta.servlet.*;

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

public class FirstServlet 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 connection = null;
        PreparedStatement statement = null;
        ResultSet resultSet = null;
        servletResponse.setContentType("text/html");//设置响应的内容类型
        PrintWriter out = servletResponse.getWriter();//打印输出流
        try {
            Class.forName("com.mysql.cj.jdbc.Driver");
            connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/123","","");
            statement = connection.prepareStatement("select * from account");
            resultSet = statement.executeQuery();
            while(resultSet.next()){
                String id = resultSet.getString("id");
                int balance = resultSet.getInt("balance");
                out.println("id="+id+"    "+"balance="+balance);
            }

        } catch (Exception e) {
            e.printStackTrace();
        }finally {
            if (resultSet != null) {
                try {
                    resultSet.close();
                } catch (SQLException throwables) {
                    throwables.printStackTrace();
                }
            }
            if (statement != null) {
                try {
                    statement.close();
                } catch (SQLException throwables) {
                    throwables.printStackTrace();
                }
            }
            if (connection != null) {
                try {
                    connection.close();
                } catch (SQLException throwables) {
                    throwables.printStackTrace();
                }
            }
        }
    }

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

    @Override
    public void destroy() {

    }
}

  1. 服务器配置:
    (Servlet【三】)使用IDEA集成开发工具开发Servlet,各个位置URL如何填写_第2张图片
    (Servlet【三】)使用IDEA集成开发工具开发Servlet,各个位置URL如何填写_第3张图片

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