Servlet+IDEA环境配置

Posted on 2023-01-08 10:37  Capterlliar  阅读(58)  评论(0编辑  收藏  举报

决定停止摆烂,把之前说废话用的页面用Java Web重写一遍。从原始一点的方法开始,比如servlet。

0. 概念介绍

1. JavaEE

Java EE,Java 平台企业版(Java Platform Enterprise Edition)。Java EE 可以说是一个框架,也可以说是一种规范。

2. Tomcat

Tomcat是常见的免费的web服务器。
Tomcat 这个名字的来历:Tomcat是一种野外的猫科动物,不依赖人类,独立生活。 Tomcat的作者取这个名字的初衷是希望这一款服务器可以自力更生,自给自足,像Tomcat这样一种野生动物一般,不依赖其他插件,而可以独立达到提供web 服务的效果。

(但还是没查到Tomcat到底是什么猫,倒是知道了Bobcat是山猫

3. Servlet

Servlet(Server Applet),是用 Java 编写的服务器端程序。其主要功能在于交互式地浏览和修改数据,生成动态 Web 内容。

狭义的 Servlet 是指 Java 语言实现的一个接口,广义的 Servlet 是指任何实现了这个 Servlet 接口的类,一般情况下,人们将 Servlet 理解为后者。

Servlet更具体的介绍:Servlet - 站长百科

推荐阅读:Servlet实现前后端交互的原理及过程解析

1. 环境配置

下载IDEA Utimate,建立一个Java项目。右键项目,点击Add Framework Support,添加Maven,JavaEE和Web Application。配置Build,点击加号,选择Tomcat Server,找到下载Tomcat的路径。点击Deployment,选择Artifact,war exploded,完成。

war和war exploded的区别

项目结构:

添加包依赖:

<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>javax.servlet-api</artifactId>
    <version>4.0.1</version>
    <scope>provided</scope>
</dependency>

添加Servlet(@WebServlet注解和配置web.xml二选一即可):

关于@WebServlet

import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.annotation.*;
import java.io.IOException;

@WebServlet(name = "Servlet", value = "/Servlet")
public class test extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

    }

    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

    }
}

配置web.xml

<?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>Servlet</servlet-name>
        <servlet-class>test</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>Servlet</servlet-name>
        <url-pattern>/demo</url-pattern>
    </servlet-mapping>

</web-app>

运行: