zoukankan      html  css  js  c++  java
  • 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运行状态了.

  • 相关阅读:
    centos安装--两张光盘
    ubuntu启动报错 Errors were found while checking the disk-drive for /
    gdb server调试步骤
    交叉编译VIM并移植到ARM嵌入式Linux系统
    交叉编译HTOP并移植到ARM嵌入式Linux系统
    为基于busybox根文件系统的ARM嵌入式Linux交叉编译dropbear使能SSH
    linux下对/sys/class/gpio中的gpio的控制 (转)
    [转]busybox登陆后没要求输入密码的解决办法
    [转]busybox中telnet 功能添加
    [转]Linux下阅读源代码:(g)vim+Taglist+ctags
  • 原文地址:https://www.cnblogs.com/RioTian/p/15510242.html
Copyright © 2011-2022 走看看