为了账号安全,请及时绑定邮箱和手机立即绑定

使用Tomcat 7的@WebServlet注释

使用Tomcat 7的@WebServlet注释

智慧大石 2019-08-02 16:06:12
使用Tomcat 7的@WebServlet注释在我的应用程序中,我有一个servlet,在web.xml中定义如下:<servlet>     <display-name>Notification Servlet</display-name>     <servlet-name>NotificationServlet</servlet-name>     <servlet-class>com.XXX.servlet.NotificationServlet</servlet-class>     <load-on-startup>1</load-on-startup></servlet><servlet-mapping>     <servlet-name>NotificationServlet</servlet-name>     <url-pattern>/notification/*</url-pattern></servlet-mapping>在使用Tomcat 7之后,我想使用@WebServlet将完成这项工作的注释。这是我做的方式:@WebServlet( name="NotificationServlet", displayName="Notification Servlet", urlPatterns = {"/notification"}, loadOnStartup=1)public class NotificationServlet extends HttpServlet {它不起作用。有人可以告诉我我做错了什么吗?
查看完整描述

3 回答

?
ibeautiful

TA贡献1993条经验 获得超5个赞

您可能还想检查是否有两个带有相同名称注释的类:

@WebServlet(name = "Foo", urlPatterns = {"/foo"})public class Foo extends HttpServlet {
    //...}

和:

@WebServlet(name = "Foo", urlPatterns = {"/bar"})public class Bar extends HttpServlet {
    //...}

在这种情况下,其中一个servlet将无法工作。如果您不使用该名称,请将其保留,如@BalusC建议的那样。我得到了一个奇怪的行为,其中一个servlet只在更改和编译后才能正常工作,但在编译后没有更改就没有了。


查看完整回答
反对 回复 2019-08-02
?
慕工程0101907

TA贡献1887条经验 获得超5个赞

此外,为了使用这些注释并编译代码,您必须在pom.xml中导入相应的依赖项,但是因为提供的“Servlet 3.0”兼容服务器已经具有此功能。

<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>javax.servlet-api</artifactId>
    <version>3.0.1</version>
    <scope>provided</scope></dependency>


查看完整回答
反对 回复 2019-08-02
  • 3 回答
  • 0 关注
  • 904 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信