Java Servlet URL 映射

2024-03-07

我对java servlet相当陌生。

如果这个问题看起来很愚蠢,请原谅我。

我在 web.xml servlet 选项卡中使用 netbeans 添加了 servlet 映射,例如 servlet 类和 url 模式,但是当应用程序运行时,它不会直接进入目标 urlhttp://localhost:8080/HelloDuke2/greeting http://localhost:8080/HelloDuke2/greeting but http://localhost:8080/HelloDuke2/ http://localhost:8080/HelloDuke2/

我在配置中缺少什么?

如何设置启动网址为http://localhost:8080/HelloDuke2/greeting http://localhost:8080/HelloDuke2/greeting ?

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
<context-param>
<param-name>javax.faces.PROJECT_STAGE</param-name>
<param-value>Development</param-value>
</context-param>
<servlet>
<servlet-name>GreetingDukeServlet</servlet-name>
<servlet-class>HelloDuke.GreetingDukeServlet</servlet-class>
</servlet>
<servlet>
<servlet-name>ResponseDukeServlet</servlet-name>
<servlet-class>HelloDuke.ResponseDukeServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>ResponseDukeServlet</servlet-name>
<url-pattern>/ResponseDukeServlet</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>GreetingDukeServlet</servlet-name>
<url-pattern>/GreetingDukeServlet</url-pattern>
</servlet-mapping>
<session-config>
<session-timeout>
30
</session-timeout>
</session-config>
</web-app>

请帮忙。

Thanks.

EDIT:

我已经尝试过 Alexey Sviridov 提供的解决方案,但它在浏览器报告 http 状态 404 资源不可用的情况下不起作用。

web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
    <context-param>
        <param-name>javax.faces.PROJECT_STAGE</param-name>
        <param-value>Development</param-value>
    </context-param>
    <servlet>
        <servlet-name>GreetingDukeServlet</servlet-name>
        <servlet-class>HelloDuke.GreetingDukeServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet>
        <servlet-name>ResponseDukeServlet</servlet-name>
        <servlet-class>HelloDuke.ResponseDukeServlet</servlet-class>
        <init-param>
            <param-name>Message</param-name>
            <param-value>Hello, PeterWkc</param-value>
        </init-param>
    </servlet>
    <servlet-mapping>
        <servlet-name>GreetingDukeServlet</servlet-name>
        <url-pattern>/GreetingDukeServlet</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
        <servlet-name>ResponseDukeServlet</servlet-name>
        <url-pattern>/ResponseDukeServlet</url-pattern>
    </servlet-mapping>
    <session-config>
        <session-timeout>
            30
        </session-timeout>
    </session-config>
    <welcome-file-list>
        <welcome-file>index.xhtml</welcome-file>
    </welcome-file-list>
</web-app>

索引.xhtml

> <?xml version='1.0' encoding='UTF-8'
> ?> <!DOCTYPE html PUBLIC "-//W3C//DTD
> XHTML 1.0 Transitional//EN"
> "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
> <html
> xmlns="http://www.w3.org/1999/xhtml"
>       xmlns:h="http://java.sun.com/jsf/html">
>     <h:head>
>         <title>Hello Duke</title>
>         <meta http-equiv="REFRESH" content="0; url=GreetingDukeServlet/">
>             
>         </meta>
>         
> 
>     </h:head>
>     <h:body>
>         Hello from Facelets
> 
> 
> 
>     </h:body> </html>

请帮忙。

Thanks.


我看到一个 Facelets 页面并且看到一个特定于 JSF 的页面<context-param>,但我没有看到 JSFFacesServlet被定义在web.xml,但您却在摆弄其他 servlet。

您没有混淆基本概念/技术吗?诚然,JSP 教程是missing https://stackoverflow.com/questions/4845032/wheres-the-official-jsp-tutorial在 Java EE 6 教程中,但要使用普通的 servlet,您通常会使用纯 HTML 或 JSP 而不是 Facelets。

无论如何,要通过 URL 调用 servlet,您需要确保 URL 与<url-pattern>servlet 的定义如下web.xml。你已经定义了你的GreetingDukeServlet监听 URL 匹配/GreetingDukeServlet。所以网址必须是http://localhost:8080/HelloDuke2/GreetingDukeServlet http://localhost:8080/HelloDuke2/GreetingDukeServlet反而。

如果您确实希望 URL 为http://localhost:8080/HelloDuke2/greeting http://localhost:8080/HelloDuke2/greeting相反,那么你应该改变<url-pattern> to /greeting反而。

也可以看看:

  • Servlet 信息页面 https://stackoverflow.com/tags/servlets/info- 包含一个小你好世界
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java Servlet URL 映射 的相关文章

  • Android PhoneGap 插件,UI 选项卡栏,调整 WebView 大小

    我正在创建一个美味的 PhoneGap 插件 希望一旦它能被打开 准备好了 插件基本完成了 我只需要一个漂亮的用户界面 相互作用 简而言之 我想创建一个 本机 android 工具栏组件 如果您实现 PhoneGap UIControls
  • 具有默认值的 Java JAX-RS 自定义参数

    假设我有这个 这只是一个示例 GET Path value address Produces application json public Response getAddress QueryParam user User user 用户是
  • 我在socket上设置了超时,发现这个值不能大于21

    我在socket上设置了超时 该值小于21秒才有效 21秒后发现超时还是21秒 public static void main String args SimpleDateFormat sdf new SimpleDateFormat yy
  • Hashmap并发问题

    我有一个哈希图 出于速度原因 我希望不需要锁定 假设我不介意过时的数据 同时更新它和访问它会导致任何问题吗 我的访问是获取 而不是迭代 删除是更新的一部分 是的 这会导致重大问题 一个例子是向散列映射添加值时可能发生的情况 这可能会导致表重
  • 将 Hibernate 对象序列化为 JSON 时抛出异常

    好吧 我正在使用 Hibernate 将一个小型数据库加载到一些表示表的类并与数据库交互 一切都很好 我真的可以看到所有结果 而且我没有任何空字段 所有这些都已被使用 这里我展示了 主 类 表 import javax persistenc
  • jvm 次要版本与编译器次要版本

    当运行使用具有相同主要版本但次要版本高于 JVM 的 JDK 编译的类时 JVM 会抛出异常吗 JDK 版本并不重要 类文件格式版本 http blogs oracle com darcy entry source target class
  • Java、Oracle 中索引处缺少 IN 或 OUT 参数:: 1 错误

    您好 我使用 Netbeans 8 0 2 和 Oracle 11g Express Edition 在 JSF 2 2 中编写了一个图书馆管理系统 我有几个名为 书籍 借阅者 等的页面 以及数据库中一些名为相同名称的表 我的问题是这样的
  • 如何开始使用 Chainsaw for Log4j?

    我想开始使用 Chainsaw v2 几乎没有关于它的信息 我只找到了this http www velocityreviews com forums t140105 help using chainsaw for log4j html 但
  • 无法使用 json 架构验证器根据预定义的 yaml 文件验证查询参数

    我需要根据预定义的 yaml 文件架构验证查询参数的架构 因此我使用 json 架构验证器 验证如何失败 我正在执行以下步骤 填充参数和相应的架构 final List
  • 如何在远程 WebSphere 上进行 JNDI 查找期间解决 sun/io/MalformedInputException

    我使用 WebSphere 8 5 来托管我的应用程序 并在应用程序服务器上配置了一些 JDBC 资源 我还使用瘦客户端运行时库开发了一个客户端应用程序 当按以下方式执行 JNDI 查找时 env put Context INITIAL C
  • 使用 ChannelExec 的命令未执行 - Jsch

    我正在使用 Jsch 在服务器中创建一个文件并执行一些命令 对于文件创建 它工作正常 但是对于命令执行 则不然 它保持状态 1 仍在处理它 并永远保持该状态 这种情况发生在 shell 执行或我尝试成为 root 时 请按照以下方法操作 p
  • RMI 中的引用传递问题? [复制]

    这个问题在这里已经有答案了 有人可以告诉我我错在哪里 为什么这个 RMI 聊天应用程序不起作用 目标是通过远程对象或序列化对象实现客户端 服务器和逻辑之间的解耦 import javax swing import java awt even
  • 请参阅 Java EE eclipse 调试中的 POST 参数

    我在调试 Java EE 方面没有经验 我更像是一个 javascript 人 我需要查看哪些 HTTP POST 参数到达服务器端 我在表单将其操作指向的 jsp 文件中放置了一个断点 现在我在调试变量窗口中找不到 POST 内容 他们在
  • 容器中的 JVM 计算处理器错误?

    最近我又做了一些研究 偶然发现了这一点 在向 OpenJDK 团队抱怨之前 我想看看是否有其他人观察到这一点 或者不同意我的结论 因此 众所周知 JVM 长期以来忽略了应用于 cgroup 的内存限制 众所周知 现在从 Java 8 更新某
  • 如何在 Eclipse 中使用其他外部 jar 依赖项创建不可运行/不可执行的 jar

    我无法通过 Eclipse 导出向导创建普通的 jar 不可运行 不可执行 它仅创建 jar 文件 但不会导出依赖的 jar 从而在从其他类调用导出的 jar 的方法时出现错误 请帮助 非常感谢 kurellajunior的建议 它是通过使
  • Java-如何将黑白图像加载到二进制中?

    我在 FSE 模式下使用 Java 和 swing 我想将完全黑白图像加载为二进制格式 最好是二维数组 并将其用于基于掩码的每像素碰撞检测 我什至不知道从哪里开始 过去一个小时我一直在研究 但没有找到任何相关的东西 只需将其读入Buffer
  • 异步迭代器

    我有以下代码 while slowIterator hasNext performLengthTask slowIterator next 由于迭代器和任务都很慢 因此将它们放入单独的线程中是有意义的 这是对迭代器包装器的快速而肮脏的尝试
  • Java:java.util.ConcurrentModificationException

    我正在制作 2D 目前正在研究用子弹射击 子弹是一个单独的类 所有项目符号都存储在称为项目符号的数组列表中 当它超出屏幕一侧 Exception in thread main java util ConcurrentModification
  • 如何找到被点击的JLabel并从中显示ImageIcon?

    这是我的代码 我想知道哪个l单击 然后在新框架中显示该 ImageIcon e getSource 不起作用 final JFrame shirts new JFrame T shirts JPanel panel new JPanel n
  • 了解 Spark 中的 DAG

    问题是我有以下 DAG 我认为当需要洗牌时 火花将工作划分为不同的阶段 考虑阶段 0 和阶段 1 有些操作不需要洗牌 那么为什么 Spark 将它们分成不同的阶段呢 我认为跨分区的实际数据移动应该发生在第 2 阶段 因为这里我们需要cogr

随机推荐

  • android studio 中缺少模拟器工具窗口

    我的 Android Studio IDE 缺少工具窗口 模拟器 View gt 工具窗口尽管 在工具窗口中启动 选项已选中File gt Settings gt Tools gt Emulator 我不知道是什么改变了它 但它曾经正常工作
  • 无法将新生成的 Play 框架项目导入 IntelliJ IDEA 15

    当我尝试将新创建的 play 框架项目导入到我的 IntelliJ IDEA 15 时 出现以下异常 Java HotSpot TM 64 Bit Server VM warning ignoring option MaxPermSize
  • 从当前工作树创建分支并重置为 HEAD

    我目前正在开发一个功能 结果比预期的要大 所以最好创建一个分支来处理它 因此 我需要从当前工作目录创建一个新分支 并将 master 分支重置为当前 HEAD 以便可以对生产环境进行一些修复 不知何故 这听起来像是一项简单的任务 但我不太明
  • Angular2 ng-模板位于单独的文件中[重复]

    这个问题在这里已经有答案了 angular2如何使用不同文件中的ng template 当我将 ng template 放在我使用的同一个 HTML 中时 它可以工作 但是当我将 ng template 移动到一个单独的文件中时 它就无法工
  • 在 C# 中捕获本机 C++ 异常

    我有一些本机 C 类库 我将它们封装在 C NET 中 然后从 C 调用它们 三层 我可以从 C NET 中抛出异常 并愉快地在 C 中捕获它们 问题是 我捕获本机 C 异常的唯一方法是捕获 System Exception 这很好 但在从
  • 为什么 Java 从套接字读取随机数量而不是整个消息?

    我正在做一个项目 有一个关于 Java 套接字的问题 可以找到源文件here https github com ChrisLundquist Handbrake Network Queue blob master java src File
  • C++ - 如何计算字符频率?

    我需要编写代码来将唯一字符及其频率存储在动态数组中 随着新数据的到来 我需要增加它的大小 在这种情况下 新数据将是遇到的新字符 我想到的算法是每次读取给定字符串时检查已知字符列表 如果它是一个新字符 我需要将数组大小增加 1 如果它不是一个
  • clojure 是否具有与 C# 等价的 Yield?

    我正在读电子书Scala 和 Clojure 中的函数式编程模式 https pragprog com book mbfpp functional programming patterns in scala and clojure并找到了导
  • LAContext canEvaluatePolicy 和 Swift 2

    这是我的 Swift 代码 if LAContext canEvaluatePolicy LAPolicy DeviceOwnerAuthenticationWithBiometrics return true 使用 Swift2 我将代码
  • Spring Batch 访问步骤内的作业参数

    我有以下 Spring Batch Job 配置 Configuration EnableBatchProcessing public class JobConfig Autowired private JobBuilderFactory
  • Rails ActiveRecord - 有没有办法在没有 id 的情况下对表执行操作?

    我有一张一行两列的表格 int version datetime updated 是否有 Rails ActiveRecord 方法来获取和设置这些列中的数据 没有 id 列 我使用此表来跟踪其他表的查询版本 每次查询另一个表后 版本列都会
  • 我可以在 distcheck 期间使用 $dc_install_base 安装 systemd 文件吗?

    我有以下用于安装 systemd 服务文件的 Autotools 代码 该文件必须安装在外部 prefix到 pkg config 变量指定的目录 我知道这是不正确的 但我无法改变 systemd 的工作方式 配置文件 AC ARG WIT
  • OpenMPI 1.4.3 mpirun 主机文件错误

    我正在尝试在 4 个节点上运行一个简单的 MPI 程序 我正在使用在 Centos 5 5 上运行的 OpenMPI 1 4 3 当我使用主机文件 机器文件提交 MPIRUN 命令时 我没有得到任何输出 而是出现空白屏幕 因此 我必须终止这
  • Python 谷歌地图 驾驶时间

    我需要使用 Python 获取两组坐标之间的行驶时间 我能找到的唯一 Google Maps API 包装器要么使用 Google Maps API V2 已弃用 要么不具有提供驾驶时间的功能 我在本地应用程序中使用它 并且不希望受限于使用
  • 找出有盖矩形物体的方向、长度和半径

    I have a image as shown as fig 1 I am trying to fit this binary image with a capped rectangular fig 2 to figure out 方向 长
  • 更改 Xamarin 中格式化文本的字体

    我有一个带有格式化文本的标签 我想更改其字体样式 我的意思是字体 我尝试使用自定义标签渲染 就像对普通文本一样 但它没有得到反映 我的疑问是我们是否可以更改格式化文本的字体 因为它对于标签的文本 非格式化文本 工作正常 这是我的 xaml
  • 检查“组件”的渲染方法

    我正在尝试按照指南设置一个react router dom高阶组件 我有个问题说 元素类型无效 需要一个字符串 对于内置组件 或一个类 函数 对于复合组件 但得到 对象 您可能忘记从定义它的文件中导出组件 或者您可能混淆了默认导入和命名导入
  • jQuery:从文件系统读取文本文件

    我正在尝试使用 jquery 读取文本文件 如下所示 LOAD file and split line by line and append divs get myFile txt function data var lines data
  • 获取最近 7 天的日期

    我想获取从现在起过去 7 天的日期 例如当前日期是 02 10 2016 像这样获取 7 天的日期 01 10 2016 30 09 2016 29 09 2016 28 09 2016 27 09 2016 26 09 2016 My c
  • Java Servlet URL 映射

    我对java servlet相当陌生 如果这个问题看起来很愚蠢 请原谅我 我在 web xml servlet 选项卡中使用 netbeans 添加了 servlet 映射 例如 servlet 类和 url 模式 但是当应用程序运行时 它