Intellij IDEA 2020.2.3 配置使用 tomcat+servlet

  • 创建项目
  • 配置tomcat服务器
  • 初步使用
    • 执行jsp文件
    • 执行servlet
  • tomcat版本问题
    • 手动导入servlet-api.jar

创建项目

  • 添加新项目如下图:
  • 弹出的窗口中选择Java Enterprise,点击Next
  • 下一个界面中勾选Servlet,点击Next
  • 选择文件名和文件路径,点击FInish

配置tomcat服务器

  • 若为在Intellij IDEA 中添加过Tomcat Server,则在Setting中设置添加自己安装的tomcat服务器,tomcat服务器安装可以参考tomcat+php+mysql环境配置

  • 点击Run中的Edit Configuration

  • 点击添加Tomcat Server

  • 下方会警告Warning: No artifacts marked for deployment,切换到Deployment下。

  • 添加build artifact,点击Ok

初步使用

执行jsp文件

  • src/main/webapp文件夹下新建文件index.jsp
  • index.jsp文件内容如下
<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<!DOCTYPE html>
<html>
<head><title>JSP - Hello World</title>
</head>
<body>
<h1><%= "Hello World!" %>
</h1>
<br/>
<a href="hello-servlet">Hello Servlet</a>
</body>
</html>
  • 点击运行启动服务,效果如下:

执行servlet

  • src/main/java文件夹下新建包servlet,并在其中添加HelloWorld.java文件
  • HelloWorld.java文件内容如下:
package servlet;// 导入必需的 java 库import java.io.*;
import javax.servlet.*;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.*;// 扩展 HttpServlet 类
@WebServlet("/Servlet")
public class HelloWorld extends HttpServlet {private String message;public void init() throws ServletException{// 执行必需的初始化message = "Hello World";}public void doGet(HttpServletRequest request,HttpServletResponse response)throws ServletException, IOException{// 设置响应内容类型response.setContentType("text/html");// 实际的逻辑是在这里PrintWriter out = response.getWriter();out.println("<h1>" + message + "</h1>");}public void destroy(){// 什么也不做}
}
  • 打开src/main/webapp/WEB_INF下的web.xml文件,在<web-app>中添加如下内容:
    <servlet><servlet-name>HelloWorld</servlet-name><servlet-class>servlet.HelloWorld</servlet-class></servlet><servlet-mapping><servlet-name>HelloWorld</servlet-name><url-pattern>/HelloWorld</url-pattern></servlet-mapping>
  • 点击运行启动服务,浏览器访问切换到HelloWorld目录下
http://localhost:8080/demo1_war_exploded
//由上面的路径切换到下面的路径
http://localhost:8080/demo1_war_exploded/HelloWorld
  • 成功的效果如下:

tomcat版本问题

如果使用tomcat 10版本,则上面切换到HelloWorld目录后会报错。
解决方法有两个:

  1. 更换tomcat版本,安装tomcat 9
  2. 手动导入tomcat 10所带的servlet-api.jar

手动导入servlet-api.jar

  • 打开FileProject Structure中的Modules,切换到Dependencies
  • 点击加号添加,选择自己tomcat路径lib下的servlet-api.jar
  • 打开项目下的pom.xml文件,删除如下内容:
<dependency><groupId>javax.servlet</groupId><artifactId>javax.servlet-api</artifactId><version>4.0.1</version><scope>provided</scope>
</dependency>
  • 点击重新运行启动服务,浏览器访问切换到HelloWorld目录下,即可正常访问。

Intellij IDEA 2020.2.3 配置使用 tomcat+servlet相关推荐

  1. IntelliJ IDEA快速入门 | 第三十一篇:在IntelliJ IDEA 2020.3.3中添加Tomcat镜像并部署Web工程

    写在前面 讲完模板以后,咱们来说一下如何在IntelliJ IDEA当中去创建Java Web的工程.这里,我们主要分两种情况来讲,第一种是如何创建静态的Java Web工程,另外一种是如何创建动态的 ...

  2. IntelliJ IDEA 2018.3.3配置 Tomcat 9,控制台出现中文乱码 “淇℃伅”(2019/01/25)

    转载:IntelliJ IDEA 2018.3.3配置 Tomcat 9,控制台出现中文乱码 "淇℃伅"(2019/01/25) - What'_up - 博客园(win10系统) ...

  3. IntelliJ IDEA使用(二):tomcat和jetty配置(转自:http://www.cnblogs.com/jenkinschan/p/6052948.html)

    上一讲用idea创建了maven web项目,接下来我们把项目发布到tomcat和jetty运行,以便进一步地开发和调试 配置tomcat 第一.打开菜单栏 第二.点击设置按钮,添加应用服务器,选择t ...

  4. 解决Tomcat下IntelliJ IDEA报错java.lang.NoClassDefFoundError: javax/servlet/ServletContextListener

    解决Tomcat下IntelliJ IDEA报错java.lang.NoClassDefFoundError: javax/servlet/ServletContextListener   笔者在做代 ...

  5. 玩转 IntelliJ IDEA 2020

    文章目录 一.基础软件集成+配置系列 1. 常用快捷键 2. IDEA 配置JDK+项目应用 JDK 3. IDEA 配置 Maven 4. IDEA 配置 TOMCAT 5. IDEA配置 Git ...

  6. IntelliJ IDEA 2020.3.2下载安装教程(公开版)

    IntelliJ IDEA 2020.3.2下载安装教程 一.准备工作 1.从IDEA官网https://www.jetbrains.com/idea/download/下载IDEA安装包,从http ...

  7. IntelliJ IDEA 2020.2 EAP 5 发布:完美支持Java 15

    点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 作者 | 白开水不加糖 来源 | https://www ...

  8. IntelliJ Idea 2020.1 正式发布,官方支持中文了

    点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 作者 | 码农小胖哥 来源 | 公众号「码农小胖哥」 1 ...

  9. IntelliJ 发布 2020 RoadMap,中文版终于要来了?

    点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 作者 | oschina 来源 | https://ww ...

最新文章

  1. Go 学习笔记(30)— Go 语言 make 和 new 的区别
  2. 清华Thinker团队提出AI计算芯片存储优化新方法 | ISCA 2018中国唯一一作论文
  3. php下载的文件不是汉字,php实现支持中文的文件下载功能示例
  4. 面试中的这些坑,你踩过几个?
  5. 基于javafx的五子棋_JavaFX中基于表达式的PathTransitions
  6. 【fedora12】vlc-2.0.0编译
  7. Python - Django - 中间件 process_exception
  8. 响应数据传出(springMVC)
  9. redis2.2.8版本的安装详情
  10. Gitee搭建自己的图床
  11. airtest 多设备同时运行_Airtest Project(1) -- 多种连接设备的方式
  12. 使用UE去除复制文本中的空格、换行符和TAB
  13. linux子进程中断信息码6,Linux入门学习——进程
  14. vue template标签_vue为什么要求组件模板只能有一个根元素?
  15. 芯鼎盛LED恒流驱动芯片TX6128设计的DC-DC开关电源降压恒流DEMO说明
  16. Elasticsearch:Dissect 和 Grok 处理器之间的区别
  17. 这些各行各业优秀的ppt模板推荐给大家
  18. 干货 | 超全整理|Python 操作 Excel 库 xlwings 常用操作详解!
  19. 2017 LARS:LARGE BATCH TRAINING OF CONVOLUTIONAL NETWORKS (训练大Batch的卷积神经网络)
  20. 苹果开发者注册设备异常记录

热门文章

  1. 后端对象集合 传到前端
  2. python 画矩形树图
  3. QCFS-related work
  4. 有品负责人高自光:“小米杂货铺”不再是贬义词
  5. nicescroll 漂亮的自定义滚动条插件
  6. myBaits Expert Whole Genome Enrichment (WGE) 从复杂的DNA来源捕获全基因组DNA
  7. 各监控厂商rtsp取流格式
  8. Linux 安装宝塔
  9. ND Snooping协议介绍
  10. Metasploit入门手册(msfconsole)