前文: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

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

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

四、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运行状态了.

IDEA 2021.2 新建JavaWeb项目及Tomcat部署的更多相关文章

  1. [转]intellij 13新建javaweb项目并用tomcat 7启动

    来自:http://blog.csdn.net/little__zm/article/details/19570535 对intellij不熟,找了很多文章,只这篇最为顺利.其他都有各种各校的问题,先 ...

  2. myeclipse新建javaweb项目,并部署到tomcat

    myeclipse使用的版本: 新建web项目: File-->New-->Web Project,输入项目名称,选择J2EE规范. 完成后: JRE System Library是只要做 ...

  3. IDEA2017.3.3创建第一个javaweb项目及tomcat部署实战

    一.创建简单web项目 1. 选择jdk(这里有点小问题不是很理解,通过java -verbose查找出来的jdk路径在C盘,这里并不能识别,而我jdk安装的时候有自己的路径在D盘,导入后就是图中的j ...

  4. Linux tomcat部署War包,Linux在Tomcat部署JavaWeb项目,Linux部署War包

    Linux tomcat部署War包,Linux在Tomcat部署JavaWeb项目,Linux部署War包 >>>>>>>>>>>& ...

  5. IDEA新建javaWeb项目

    创建JavaWeb项目的步骤大致如下: 创建JavaWeb项目之前所需要的条件 - 安装jdk - 安装服务器(如:tomcat) - 安装idea 新建项目 New-->Project...

  6. 在腾讯云&阿里云上部署JavaWeb项目(Tomcat+MySQL)

    之前做项目都是在本地跑,最近遇到需要在在云服务器(阿里云或者腾讯云都可以,差不多)上部署Java Web项目的问题,一路上遇到了好多坑,在成功部署上去之后写一下部署的步骤与过程,一是帮助自己总结记忆, ...

  7. Mac下intellij IDEA新建javaweb项目

    intellij IDEA可以说是非常好用的工具,本人用来开发java.比eclipse等好用太多了.谁用谁知道,当然只是开发工具而已,用什么都无所谓.大牛们都用记事本编程呢. 本文帮助新手创建一个j ...

  8. 利用Jenkins实现JavaWeb项目的自动化部署

    修改代码,打包,上传,重启... 大把的时间花费在这些重复无味的工作上.笔者与当前主流的价值观保持一致:我们应该把时间花费在更有意义的事情上.我们可以尝试借助一些工具,让这些重复机械的工作交给计算机去 ...

  9. JavaWeb项目 IDEA+Tomcat+Nginx 部署流程

    转载请注明原文地址:https://www.cnblogs.com/ygj0930/p/11375100.html 一:IDEA Maven项目打包 1.修改打包方式 在maven项目的pom文件中, ...

  10. SSM整合,快速新建javaWeb项目

    整合前需要了解: spring和springmvc包扫描的注意事项 Spring applicationContext.xml (父容器),SpringMVC springmvc-servlet.xm ...

随机推荐

  1. 手撕Vue-Router-添加全局$router属性

    前言 经过上一篇文章的介绍,完成了初始化路由相关信息的内容,接下来我们需要将路由信息挂载到Vue实例上,这样我们就可以在Vue实例中使用路由信息了. 简而言之就是给每一个Vue实例添加一个$route ...

  2. Centos 7在线安装JDK1.8+Tomcat+MySQL8.0+Nginx

    一.安装JDK 注: 以下命令环境在Xshell中进行. 温馨提示: 在线安装方式需要有网速的前提,有的软件下载需要大量时间. 1.查询出系统自带的OpenJDK及版本 rpm -qa | grep ...

  3. C++ 共享内存ShellCode跨进程传输

    在计算机安全领域,ShellCode是一段用于利用系统漏洞或执行特定任务的机器码.为了增加攻击的难度,研究人员经常探索新的传递ShellCode的方式.本文介绍了一种使用共享内存的方法,通过该方法,两 ...

  4. 构建一个语音转文字的WebApi服务

    构建一个语音转文字的WebApi服务 简介 由于业务需要,我们需要提供一个语音输入功能,以便更方便用户的使用,所以我们需要提供语音转文本的功能,下面我们将讲解使用Whisper将语音转换文本,并且封装 ...

  5. [NOI online22提高A] 丹钓战

    题目描述 有 \(n\) 个二元组 \((a_i, b_i)\),编号为 1 到 n. 有一个初始为空的栈 SS,向其中加入元素 \((a_i, b_i)\) 时,先不断弹出栈顶元素直至栈空或栈顶元素 ...

  6. org.springframework.context.ApplicationContextException: Failed to start bean 'documentationPluginsBootstrapper'; nested exception is java.lang.NullPointerException报错问题

    这个原因是 高版本SpringBoot整合swagger 造成的 我的项目是2.7.8 swagger版本是3.0.0 就会出现上面的报错 解决方式: 1.配置WebMvcConfigurer.jav ...

  7. smm整合

    配置整合 这个里面SpringConfig 就是书写Spring的配置类,其中加载了jdbc配置类和mybatis配置类,还加载了jdbc资源类. package com.itheima.config ...

  8. 终结篇:==和equals有什么区别?

    == 和 equals 有什么区别?这个问题本身不难,但是被问到的频率很高,且大部分人的回答都不够全面,让人听了有种"恨铁不成钢"的感觉,所以今天咱们就来好好聊聊这个问题. 1.典 ...

  9. Oracle-startup和shutdown

    startup不同参数作用 startup nomount 非安装启动,以这种方式启动可执行: 1.重建控制文件. 2.重建数据库读取init.ora文件. 3.启动实例,即启动SGA和后台进程,需要 ...

  10. 37. 干货系列从零用Rust编写负载均衡及代理,负载均衡中try_files实现

    wmproxy wmproxy已用Rust实现http/https代理, socks5代理, 反向代理, 静态文件服务器,四层TCP/UDP转发,七层负载均衡,内网穿透,后续将实现websocket代 ...