• 关于IDEA创建maven web 项目时遇到的坑及避坑指南(注解失效等)


    一,前言

    最近在学习servlet,我用的工具时idea,在创建maven web项目时遇到了一些坑,比如@WebServLet这一类的注解失效,Tomcat服务器报服务器内部错误,浏览器访问时项目路径出错等问题,接下来我就说一下避坑指南

    二,关于注解失效
    问题原因

    在idea中创建maven web项目时一般会选择如下步骤
    在这里插入图片描述在idea中创建maven web项目选择的一般都是图中所示原型,这样创建一个maven web项目是没有问题的,那么注解失效原因是什么呢,其实在按步骤创建项目后创建的是一个2.5版本的项目,而注解只有3以上的版本才支持。

    解决方案

    首先打开自己maven本地仓库,依次按照图中路径点击,找到图中所示jar包
    在这里插入图片描述用压缩软件奖图中所示jar包打开(不要解压),找到web.xml,右键点击编辑。
    在这里插入图片描述
    将原先内容替换为如下内容

    
    <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xmlns="http://xmlns.jcp.org/xml/ns/javaee"
        xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee 
    http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
        version="3.1">
    web-app>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    好了,问题一解决

    三,关于Tomcat服务器内部错误
    问题原因

    由于我最开始用的是Tomcat10,在写好一个项目之后,启动Tomcat服务器,访问页面,结果报错:服务器内部错误。出现这个错误的原因是由于Tomcat10使用的是jakarta.servlet.api,而在项目中使用的是javax.servlet.api,所以蔡会报服务器内部错误。

    解决方案

    以下方案任选其一

    • 在maven中加入jakarta.servlet.api的依赖,将项目中的javax.servlet.api 更换为jakarta.servlet.api。
    • 更换Tomcat版本,使用低版本的Tomcat(推荐该方案,简单高效
    四,项目路径问题
    问题原因

    先看一下这是什么情况吧如图
    在这里插入图片描述这是首页,当我输入数据点击提交后
    在这里插入图片描述仔细看就会发现路径里面少了东西,少的就是我们的项目名,加上项目名称后可以正常访问
    在这里插入图片描述这里的坑是你点击按钮跳转,路径中没有项目名

    解决方案

    方案一
    form表单的action属性的路径不要加“/”,这个“/”代表的是“http://ip:port/”中的最后一个斜杠
    方案二
    如图,右上角点击编辑配置
    在这里插入图片描述点击部署,找到图中所示位置,将“/”之后的字符全部删除,然后点击确定
    在这里插入图片描述
    问题解决
    在这里插入图片描述

  • 相关阅读:
    深入解析Linux中的用户态与内核态
    ubuntu安装后配置
    ES6解析赋值
    活动贴 Java社区征集开发者调查(微软联合csdn活动)
    gitlab git lfs的替代软件整理汇总及分析
    Spring MVC Formatter(数据格式化)详解
    Elasticsearch 分片内部原理—近实时搜索、持久化变更
    postman中文乱码
    Linux寻找文件
    基于JAVA+SpringBoot+Vue+uniapp+协同过滤算法+爬虫+AI的减肥小程序
  • 原文地址:https://blog.csdn.net/weixin_45014413/article/details/120992253