IDEA 2021.2 新建JavaWeb项目及Tomcat部署

前文:JSP 简单入门与 IDEA 开发环境配置

参考链接:

  1. https://zhuanlan.zhihu.com/p/68133583
  2. https://www.cnblogs.com/javabg/p/7976977.html

一、Tomcat

  • 操作如下:File | Settings | Build, Execution, Deployment | Application Servers

  • 部署成功

二、Java Web项目

IntelliJ IDEA 2021.2 这个新版本,不管是在创建项目上,还是在进行一些选项的配置上,与之前的版本相比都有些许的不同。

1. 新建module

  • 注意:普通java项目,而不是Java Enterprise;

2. 添加框架支持

  • 创建完Java项目后,右击项目,选择Add Frameworks Support;

  • 选择 Java EE8

  • 选中Web Application,默认create web.xml

  • 目录结构变化,如下

三、配置

此时建议

  1. WEB-INF 下建 libclasses 文件夹,并在 Modules 的 Paths 把输出文件夹指向WEB-INF.classes

    即将后面编译的class文件默认生成到classes目录下

  2. 点击 Modules -> 选中项目 JavaWeb -> 切换到 Dependencies 选项卡 -> 点击右边的“+” -> 选择 “JARs or directories...”,选择创建的lib目录

    即将未来使用的第三方包引用在此目录

  3. 配置打包方式Artifacts点击 Artifacts选项卡,IDEA会为该项目自动创建一个名为“JavaWeb:war exploded”的打包方式,表示 打包成war包,并且是文件展开性的,输出路径为当前项目下的 out 文件夹,保持默认即可。另外勾选下“Build on make”,表示编译的时候就打包部署,勾选“Show content of elements”,表示显示详细的内容列表。

Ctrl+Shift+Alt+s,进入Project Structure

  • 设置sources目录,并勾选sources root

  • 打包jar包,首先cancel选定module

    博主这里借用一下其他教程的两张图

jar

  • 改名再选定add to module或者project

module library

四、Tomcat实例

  • 选择 Run -> Edit Configuration -> 左上角加号 -> Tomcat Server-> Local

  • 点击Application server右边的Configure,找到你放置的Tomcat的目录

  • 选择第二个选项卡Deployment-> + -> 选择Artifacts ,说明:此处的Application context是指定本工程的根目录,可以对项目的访问地址进行修改,如果只有一个/,则默认表示localhost:8080/,后面直接跟需要访问的页面即可,Apply;

    个人选择改为 /JavaWeb

  • 配置完成工具栏出现如下标志,但未启动

    此时可以修改内部的实时更新,Updata classes and resources

  • 点击右下角的services,启动绿色的三角按钮 Run,启动 Tomcat;

  • 可以看到 Tomcat bin 目录的 catalina Run,打开 index.jsp 运行;

  • Tomcat 已启动

  • 打开浏览器,输入:

    localhost:8080/JavaWeb or http://127.0.0.1:8080/JavaWeb/

至此,IDEA 创建并设置 JavaWeb 工程全部完成,下面是在其中编写并运行Servlet。


\[QAQ \]


五、Servlet简单实现

1. 编写servlet源文件

src 目录下新建包 MyServlet,在包内新建 HelloServlet.java 并编写一下代码并进行编译:

因为 Servlet 类其实就是一个普通的 Java 类,IDEA 中可以直接右键→new→Create New Servlet。会自动帮你生成继承了 HttpServlet 类的模板,十分方便。类文件生成后,我们便可以写自己的 Servlet 服务啦,先写一个最简单的 Hello World 服务,即用户访问指定 URL 地址,便调用该 Servlet 在浏览器中输出 Hello World。在这里,我们使用注解的方式将 Servlet 服务映射到URL:/helloWorld 上。

package MyServlet;

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

@WebServlet(name = "HelloWorldServlet",urlPatterns = "/helloWorld")
public class HelloServlet extends HttpServlet {
    private String message;

    public void init() {
        message = "Hello World!";
    }

    public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException {
        response.setContentType("text/html");

        // Hello
        PrintWriter out = response.getWriter();
        out.println("<html><body>");
        out.println("<h1>" + message + "</h1>");
        out.println("</body></html>");
    }

    @Override
    public void destroy() {
        super.destroy();
    }
}

编译后会发现在 classes 目录下生成了 HelloServlet.class 文件

2. 部署servlet

方法一:

WEB-INF目录下 web.xml 文件的 <web-app>标签中添加如下内容:

<!-- 有点问题,待补 -->

方法二:

使用注解的方式将 Servlet 服务映射到URL:/helloWorld 上。
在HelloWorld文件的类前面加上:

@WebServlet(name = "helloServlet", value = "/hello-servlet")
// or 
@WebServlet(name = "HelloWorldServlet",urlPatterns = "/helloWorld")
// or
@WebServlet("/HelloWorld")

控制台出现successfully则tomcat服务启动成功!

打开浏览器输入:localhost:8080/JavaWeb/helloWorld 即可查看servlet运行状态了.


Tips:时间会解决一切
posted @ 2021-11-04 20:20  RioTian  阅读(199)  评论(0编辑  收藏  举报