【问题标题】:Servlet 3 issues with @WebFilter and @WebServlet deployment@WebFilter 和 @WebServlet 部署的 Servlet 3 问题
【发布时间】:2010-01-19 16:26:22
【问题描述】:

我正在尝试将 web.xml 文件中定义的现有 servlet 和过滤器迁移到 Glassfish V3 服务器上的 @WebServlet 和 @WebFilter 注释。

目前web.xml 定义了 12 个 servlet 和 6 个过滤器。 尝试从 web.xml 文件中删除一个 servlet 并将 @WebServlet 注释添加到 Java servlet 文件中。

但是,当我的 JSP 尝试访问 Servlet Glassfish 抱怨“服务不可用”时,访问 servlet 有困难。

基本上使用 Glassfish Server 3 从未识别的注释定义的 Servlet 和过滤器。

这是无法与web.xml 文件一起使用注释的现有错误吗? 我们有任何解决方法吗?

我参考Sun documentation 将 web.xml 迁移到 servlet 3 注释

【问题讨论】:

  • 像 Java 中的任何东西一样,注解是区分大小写的。因此,它真的应该是@WebServlet 和@WebFilter。尽管这会产生完全不同且明显的错误,但在描述问题时也请记住这一点,以避免红鲱鱼。
  • 对不起,错别字 BalusC ,它的 @WebFilter 和 @WebServlet
  • 你能告诉我们web.xml的相关部分和servlet的java代码的相关部分吗?

标签: java servlets glassfish


【解决方案1】:

你必须让你的 web.xml 正确,下面是你应该使用的 web.xml 的开头:

<?xml version="1.0" encoding="UTF-8"?>
<web-app 
    xmlns="http://java.sun.com/xml/ns/javaee" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    metadata-complete="false" 
    version="3.0" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">

【讨论】:

  • 谢谢,我有一个 2.5 版本声明,@WebServlet 注释被忽略,这个答案解决了问题。
猜你喜欢
  • 2013-05-10
  • 2011-03-21
  • 2014-02-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多