idea不识别@webServlet注解,javax.servlet.htttp 找不到的解决方法

在servlet3.0以后,web.xml中对Servlet配置,可以通过@WebServlet注解配置.
下面是@WebServlet的属性列表:

属性名 类型 描述
name String 指定Servlet 的 name 属性,等价于 <servlet-name>。如果没有显式指定,则该 Servlet 的取值即为类的全限定名。
value String[] 该属性等价于 urlPatterns 属性。两个属性不能同时使用。
urlPatterns String[] 指定一组 Servlet 的 URL 匹配模式。等价于<url-pattern>标签。
loadOnStartup int 指定 Servlet 的加载顺序,等价于 <load-on-startup>标签。
initParams WebInitParam[] 指定一组 Servlet 初始化参数,等价于<init-param>标签。
asyncSupported boolean 声明 Servlet 是否支持异步操作模式,等价于<async-supported> 标签。
description String 该 Servlet 的描述信息,等价于 <description>标签。
displayName String 该 Servlet 的显示名,通常配合工具使用,等价于 <display-name>标签。

 

例如:

<!-- servlet的配置 -->
    <servlet>
        <!-- servlet的内部名称,自定义。尽量有意义 -->
        <servlet-name>Book</servlet-name>
        <!-- servlet的类全名: 包名+简单类名 -->
        <servlet-class>web.Bookservlet</servlet-class>
    </servlet>
    <!-- servlet的映射配置 -->
    <servlet-mapping>
        <!-- servlet的内部名称,一定要和上面的内部名称保持一致!! -->
        <servlet-name>Book</servlet-name>
        <!--访问路径  http://localhost:8080/Bookservlet-->
        <!--这里和@Webservlet路径一个道理 -->
        <url-pattern>/Bookservlet</url-pattern>
    </servlet-mapping>

等同于

idea不识别@webServlet注解,javax.servlet.htttp 找不到的解决方法

今天 用idea开发工具,在新建web项目时,手动部署到tomcat服务器上运行,之前的demo都没问题。

用到@webServlet时提示系统找不到javax.servlet.htttp,也就是没有servlet-api.jar这个包。

idea不识别@webServlet注解,javax.servlet.htttp 找不到的解决方法
原因是少了tomcat的jar包,解决方法:

点击File->Project Settings->Modules
选择Dependencies,然后新增,选择绿色的+号,选择第2项Libraryidea不识别@webServlet注解,javax.servlet.htttp 找不到的解决方法
idea不识别@webServlet注解,javax.servlet.htttp 找不到的解决方法 然后 idea不识别@webServlet注解,javax.servlet.htttp 找不到的解决方法点击ok即可。

发现idea已经可以识别@webServlet注解,javax.servlet.htttp 找不到的问题也解决了。

125jz网原创文章。发布者:江山如画,转载请注明出处:http://www.125jz.com/8737.html

(2)
江山如画的头像江山如画管理团队
上一篇 2020年8月22日 下午2:55
下一篇 2020年8月26日 下午10:45

99%的人还看了以下文章

  • js中var a=b=1和var a=1,b=1的区别

    js中一次性定义多个变量的时候,可以用:var a=1,b=1这种中间用逗号隔开的方式,但有些时候为了省事,直接定义var a=b=1。 那这两种写法方式最后效果是一样的吗?有没有什么区别呢?请大家看下面的范例: 1、用var a=b=1的方式 由上图可以明显看出来,变量b的作用域已经是全局的了,因为在函数外可以调用到(可以正常的输出变量)。 2、用var …

    2022年3月19日
    2.0K0
  • 单元测试步骤、单元测试策略,单元测试快速入门教程三

    工作性质不同决定了工作侧重点也不同,因此程序开发人员在单元测试过程中关注更多的是程序代码本身和已经实现的功能。因此,站在他们的角度看,单元测试的过程就是在编写测试方法之前: 首先考虑如何对方法进行测试; 然后编写测试代码; 下一步就是运行某个测试,或者同时运行该单元的所有测试,确保所有测试都通过。 下图从宏观的角度概括了单元测试的工作过程图。 1.单元测试进…

    2018年4月18日
    4.5K0
  • pycharm 中pip不是内部或外部命令,也不是可运行的程序或批处理文件(直接解决问题)

    在pycharm中输入pip则显示:pip不是内部或外部命令,也不是可运行的程序或批处理文件。 和在命令行输入python提示python不是内部或外部命令,也不是可运行的程序或批处理文件一样,都是环境变量的问题。不用怀疑,www.125jz.com站长亲测!!! pip不是内部或外部命令,也不是可运行的程序或批处理文件的解决方法 1.首先找到pip的安装位…

    2023年1月13日 编程开发
    7.9K0
  • Python数据分析入门实战一:统计分析用户学习数据

    Python数据分析要求: 使用 Python 基础知识分析用户学习数据 json 文件,并从文件中统计出中指定的数据项。 用户学习数据 json 文件下载: http://labfile.oss.aliyuncs.com/courses/764/user_study.json user_study.json 文件部分内容展示如下: {“minutes”: …

    2022年2月5日
    3.4K0
  • JS截取字符串方法详解:前面/中间/后面

    JS截取字符串方法,JS的match() 方法可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配。 js截取字符串中间的内容 var str = “aaabbbcccdddeeefff”; str = str.match(/aaa(\S*)fff/)[1]; alert(str);//结果bbbcccdddeee js截取某个字符串前面的内容 var…

    2023年1月5日
    4.4K0
  • String、StringBuffer、StringBuilder的区别?

    String在实例化之后,其内存空间的内容大小是不能够被修改的;而StringBuffer是一个线程安全的可变字符序列,在实例化之后可以动态的修改堆内存中的内容,所以内存长度和大小是可变的;StringBuilder实例化之后内存大小长度也是可变的,不同之处在于StringBuilder不是线程同步,因此操作起来必然比StringBuffer更加高效。

    2018年10月24日
    2.0K0