IDEA2021 tomcat10 servlet 较新版本踩坑问题

因为学习的时候用的版本比较新,而网上的教程又全是老版本,所以出现了很多问题,总结以下,帮同样初学的师傅们踩坑了。
废话不多说:

1:
file->new->project新建一个普通java项目:

工程名可以随意命名

2:
工程名上右键->Add Framework Support:

在Web Application上打勾,点击OK

3:
展开工程名->web->WEB-INF,在WEB-INF下新建两个文件夹,分别是classes、lib:

4:
按下ctrl+alt+shift+S,调出Project Structure,
选到Modules->Paths,单选框选到use module xxxxx,将两个路径改为刚才创建的classes。

然后选到Dependencies,点击下面的+号,选择jars or dirxxxxxxxx,选择刚创建的lib目录,让选择目录用处的话,选择jar direxxxxxxx,打上勾,点击apply,OK

5:
将tomcat/lib目录下的servlet-api.jar复制到我们创建的lib目录里。

6:
点击右上角小锤子旁边的Add Configuration,点击加号,选择tomcat server->local。这里注意不要选成tomEE的,两者图标一样,但是不是一个东西。其他配置不变,点击aplly上面的fix,application context可以随意命名,建议一个/就可以。然后aplly,OK。

7:
改一改index.jsp中带的title和end,运行一下,如果类似以下,那基本就OK了。

8:
在src里面新建一个java class,尝试写一个servlet:
这里也是与其他版本不同的地方,老版本都是import javax.servlet.xxxxx,这里是import jakarta.servlet.xxxxx,具体应该import的包,可以展开servlet-api.jar看到。

import jakarta.servlet.ServletException;
import jakarta.servlet.annotation.WebServlet;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;

@WebServlet(name = "login")
public class Login extends HttpServlet {
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        response.setContentType("text/html");
        PrintWriter out = response.getWriter();
        out.println("<!DOCTYPE HTML>");
        out.println("<HTML>");
        out.println("  <HEAD><TITLE>login</TITLE></HEAD>");
        out.println("  <BODY>");
        out.print("    this is login page");
        out.print(this.getClass());
        out.println("  </BODY>");
        out.println("</HTML>");
        out.flush();
        out.close();
    }

    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        response.setContentType("text/html");
        PrintWriter out = response.getWriter();
        out.println("<!DOCTYPE HTML>");
        out.println("<HTML>");
        out.println("  <HEAD><TITLE>login</TITLE></HEAD>");
        out.println("  <BODY>");
        out.print("    this is login page");
        out.print(this.getClass());
        out.println("  </BODY>");
        out.println("</HTML>");
        out.flush();
        out.close();
    }
}

然后修改web.xml文件,如下:

servlet

-name可以任意命名,只要上下两个一致就可以,servlet-class应该与类名相同,url-pattern是与java class中的@WebServlet(name=“xxxx”)的xxxx相同,这里的xxxx就是路径。
此时编译并运行,在地址栏输入我们写的url,就可以访问到动态资源了:

到此这篇关于IDEA2021 tomcat10 servlet 较新版本踩坑问题的文章就介绍到这了,更多相关idea2021 tomcat servlet内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • IDEA 2020 配置Tomcat服务器的详细步骤

    IDEA 2020 配置Tomcat的步骤如下所示: 第一步 下载Tomcat 官网链接:http://tomcat.apache.org/ 选择download,找到自己所要的版本,下载对应版本的Tomcat. 跟我之前的文章一样,我依旧推荐下载免安装的压缩包. 有zip和exe两种格式的,zip(64-bit Windows zip(pgp,md5,sha1))是免安装版的,exe(32-bit/64-bit Windows Service installer(pgp,md5,sha1))是

  • Idea配置maven-tomcat-plugin插件实现项目部署

    参考文章: maven tomcat plugin实现热部署:https://www.jb51.net/article/143054.htm 实现maven项目部署到服务器分为如下几个步骤: tomcat 的tomcat-users.xml中添加用户: maven 的settings.xml中添加server: pom.xml中添加tomcat7-maven-plugin插件配置: 在tomcat运行的情况下,运行 tomcat7:deploy 命令. 1.添加用户 在 标签内: <role r

  • 解决Idea导入Web项目并发布到Tomcat问题

    Idea导入现有的Web项目并发布到Tomcat,发现Tomcat没有自动发布 问题: 导入一个Web项目时,idea并没有把他当成web,所以需要自己修改项目结构 1.导入项目 打开 File->Open... 2.发现项目web前面图标不带小圆点 正确应该为这样: 3.配置运行 (1).配置运行环境 打开 Run->Edit Configurations... (2).点击左上角小加号 (3).选择本地Tomcat,找到目录 (4).选择Deployment啥也没有,发现下方有红色惊叹号(

  • 解决IDEA 启动Tomcat控制台乱码问题

    今天在Idea中用Tomcat跑一个Web项目,启动后,Tomcat日志在控制台打印出来都是乱码,如下图所示: 这个问题是Tomcat的编码问题引起的,解决该问题可以进行如下配置: -Dfile.encoding=UTF-8 如果还不行,就这样: 点击确定.重启TOMCAT进行调试,可以看到控制台中tomcat日志中的中文能正常显示了. 上面基本上应该不会出现乱码啦 如上述全部尝试还是乱码则需要修改配置文件 进入idea的安装目录, 进入bin目录下.找到idea.exe.vmoptions这个

  • 使用IntelliJ IDEA配置Tomcat入门教程

    一.下载Tomcat 1.进入官网http://tomcat.apache.org/,选择download,下载所需Tomcat版本. 此处我们选择下载最新版本Tomcat 9. 注意有zip和exe两种格式的,zip(64-bit Windows zip(pgp,md5,sha1))是免安装版的,exe(32-bit/64-bit Windows Service installer(pgp,md5,sha1))是安装版.同时观察自己的电脑是64位系统还是32位系统. 此处选择下载zip版: 下

  • 在idea中将创建的java web项目部署到Tomcat中的过程图文详解

    在idea中将创建的java web项目部署到Tomcat中 采用的工具idea 2018.3.6 Tomcat7 1.先创建第一个新项目secondweb(注意勾选JavaEE下的web Application(4.0),窗口下的version对应为4.0,并且保证create web.xml已经被勾选) 2.在创建好的web项目的web/WEB-INF目录下创建两个文件夹:classes和lib.classes用来存放编译后输出的class文件,lib用来存放第三方jar包(下图显示的是创建

  • IntelliJ IDEA Tomcat配置详解(图文)

    查找该问题的童鞋我相信IntelliJ IDEA,Tomcat的下载,JDK等其他的配置都应该完成了,那我直接进入正题了. 1> 进入 Edit Configurations 2> 点击 + ,选择 Tomcat 服务器,如果是本地Tomcat 选择 Local 3> Tomcat Server -> Unnamed -> Server -> Application server 的 Configuration ,找到本地 Tomcat 服务器,再点击 OK按钮 4&g

  • idea日志乱码和tomcat日志乱码问题的解决方法

    1 idea启动tomcat乱码 遇到的问题: idea整合SSM项目,tomcat启动,启动时查看idea上的tomcat日志,出现乱码: 但是直接用tomcat 的 startup.bat启动,无乱码: 2,出现的原因: 查看tomcat/conf/logging.properties java.util.logging.ConsoleHandler.encoding = GBK 而本window系统使用的也是GBK编码,所以直接使用bat文件启动正常,但是idea上配置的是UTF-8,所以

  • IDEA2021 tomcat10 servlet 较新版本踩坑问题

    因为学习的时候用的版本比较新,而网上的教程又全是老版本,所以出现了很多问题,总结以下,帮同样初学的师傅们踩坑了. 废话不多说: 1: file->new->project新建一个普通java项目: 工程名可以随意命名 2: 工程名上右键->Add Framework Support: 在Web Application上打勾,点击OK 3: 展开工程名->web->WEB-INF,在WEB-INF下新建两个文件夹,分别是classes.lib: 4: 按下ctrl+alt+sh

  • jQuery版本升级踩坑大全

    背景 -------------------------------------------------------------------------------- jQuery想必各个web工程师都再熟悉不过了,不过现如今很多网站还采用了很古老的jQuery版本.其实如果早期版本使用不当,可能会有DOMXSS漏洞,非常建议升级到jQuery 1.9.x或以上版本.前段时间我就主导了这件事情,把公司里我们组负责的项目jQuery版本从1.4.2升级到了jQuery 1.11.3.jQuery官

  • mpvue开发音频类小程序踩坑和建议详解

    这是我第一次开发小程序,开发的产品是音频类的,在大佬的建议下采用了 mpvue ,一周时间把功能都做出来,由于不太熟悉mpvue和微信小程序,足足用了一周时间来改bug才出来一个能用的版本,在这里整理分享下我开发时遇到的一些问题和给出一些建议. 在 Linux 上开发小程序 在公司电脑装了双系统,日常用的是 Ubuntu 系统,Linux或Mac的开发环境对前端相对来说会友好一些.微信小程序官方的开发者工具只有 Windows 和 Mac 版本,所以这就尴尬了. 不过还好,发现已经有大神在Git

  • SpringCloud整合Activiti过程中的踩坑记录

    目录 前言 错误一:shiro与serurity冲突 处理:在启动类屏蔽SpringSecurity 处理:更换版本7.1.0.M4及以下 错误二:与mybatis冲突 处理:注释包中的MyBatis 关于idea插件 总结 前言 最近需要用到工作流,选择了Activiti,刚开始配置起来并没有很顺利.记录一下希望对读者们有帮助. 先来看我这边项目的环境:主要为JDK1.8,SpringbBoot2.3.5,MyBatis-Plus3.3.2, MySql8.0.21,Shiro1.5.3,id

  • JavaWeb踩坑记录之项目访问不到html文件

    踩坑问题和原因 踩坑问题 由于博主的JavaWeb是速成所以对一些知识点掌握的不是很熟,所以也就出现了今天这个问题——Tomcat访问不到html文件. 在运行是总是会出现404.每次出现这个就很烦,让人摸不着头脑.虽然这个问题其实对一些项目没有很大的影响,但是他会让我的项目目录会很杂乱.总的来说该问题就是不解决它,就会出现一堆静态资源都在一个文件夹.这可能会导致后期找一些项目的文件就得找半天. 踩坑原因 由于粗心的我把一些html文件都放在WEB-INF下面.因为WEB-INF下的资源不能直接

  • npm踩坑问题实战记录

    目录 一.npm安装依赖失败问题 二.npmlockfile报错 三.npmERR!codeEPERM问题 四.npmERR!codeEEXIST(文件已存在,拒绝删除) 补充:通过npm命令来删除node_modules文件夹 总结 悲催的我基本上问题都遇到了...... 一.npm安装依赖失败问题 问题描述: 错误信息: unbuild: sill gentlyRm target.inParent = false 后续会出现长时间停留 问题解决:删除整个node_modules,重新npm

  • springboot整合freemarker的踩坑及解决

    目录 springboot整合freemarker踩坑 报错 问题原因 解决方法 springboot freemarker基础配置及使用 1.基础配置 2.基础使用 springboot整合freemarker踩坑 报错 2021-04-23 02:01:18.148 ERROR 9484 --- [nio-8080-exec-1] o.a.c.c.C.[.[.[/].[dispatcherServlet]    : Servlet.service() for servlet [dispatc

  • vue-cli2.x旧版本卸载不掉的问题踩坑指南(附Vue脚手架安装教程)

    目录 旧版本卸载 问题说明 问题解释 问题解决 总结 旧版本卸载 问题说明 vue2.x脚手架旧版本卸载不掉的问题:(卸载命令运行后输入vue --version仍一直显示旧版本) 问题解释 首先明确一点,卸载不掉肯定说明你的电脑中至少有两个地方存在脚手架,而你的卸载操作只是卸载了其中之一.而出现这个情况的原因,一般来说是你在npm的默认路径下安装过脚手架,在配置了npm全局安装路径之后又安装过脚手架,所以有两个脚手架.(顺带一提,这样的情况提示的都是默认安装路径下的vue脚手架版本) 问题解决

  • 分布式爬虫scrapy-redis的实战踩坑记录

    目录 一.安装redis 1.首先要下载相关依赖 2.然后编译redis 二.scrapy框架出现的问题 1.AttributeError: TaocheSpider object has no attribute make_requests_from_url 原因: 2.ValueError: unsupported format character : (0x3a) at index 9 问题: 三.scrapy正确的源代码 1.items.py文件 2.settings.py文件 3.ta

  • Angular 4.X开发实践中的踩坑小结

    本文主要给大家分享了关于Angular 4.X开发中与到的一些踩坑经验,分享出来供大家参考学习,下面来一起看看详细的介绍: 一.使用ngIf或者ngSwitch出错 在html文件中使用ngIf或者ngSwitch时,会解析出错,错误提示如下: Error: Template parse errors: Can't bind to 'ngSwitch' since it isn't a known property of 'div'. 这个是因为没有在此Component所在的Module中导入

随机推荐