如何在 web.xml 中配置欢迎文件列表

2023-11-22

我的 web.xml 文档中有这个。我正在尝试创建一个欢迎列表,这样我就不需要再输入主页的路径了。但是每次单击我的 tomcat 页面中的应用程序时,它都会显示请求的资源不可用。

<listener>
    <listener-class>web.Init</listener-class>
</listener>

<welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
</welcome-file-list>

<servlet>
    <servlet-name>index</servlet-name>
    <servlet-class>web.IndexServlet</servlet-class>
</servlet>

<servlet-mapping>
    <servlet-name>index</servlet-name>
    <url-pattern>/index</url-pattern>
</servlet-mapping>

我的 jsp 页面的 servlet

package web;

import java.io.IOException;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletConfig;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.log4j.Logger;

public class IndexServlet extends HttpServlet
{
    private Logger logger = Logger.getLogger(this.getClass());
    private RequestDispatcher jsp;

    public void init(ServletConfig config) throws ServletException
    {
        ServletContext context = config.getServletContext();
        jsp = context.getRequestDispatcher("/WEB-INF/jsp/index.jsp");
    }

    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException
    {
        logger.debug("doGet()");
        jsp.forward(req, resp); 
    }
}

为什么它仍然不起作用?我仍然需要在我的网址中输入 /index...如何正确执行此操作?


您需要将JSP文件放入/index.jsp而不是在/WEB-INF/jsp/index.jsp。这样一来,整个 servlet 就显得多余了。

WebContent
 |-- META-INF
 |-- WEB-INF
 |    `-- web.xml
 `-- index.jsp

如果您绝对确定需要以这种奇怪的方式调用 servlet,那么您应该将其映射到以下 URL 模式:/index.jsp代替/index。您只需要更改它即可获取请求调度程序request而不是来自config并摆脱整个init() method.

如果您确实想要一个“主页 servlet”(因此not欢迎文件——其目的完全不同;即默认文件,当folder正在被请求,因此不是特定的根文件夹),那么您应该将 servlet 映射到空字符串 URL 模式。

<servlet-mapping>
    <servlet-name>index</servlet-name>
    <url-pattern></url-pattern>
</servlet-mapping>

也可以看看servlet 映射 url 模式中 / 和 /* 之间的区别.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 web.xml 中配置欢迎文件列表 的相关文章

  • JSPX 命名空间对于 EL 函数不可见?

    我正在尝试使用 JSPX JSP 的纯 XML 语法 并遇到看起来应该可以工作但实际上却不起作用的情况 我使用 jsp root 元素中的命名空间声明导入标签库 然后稍后将这些用于元素以及 EL 函数
  • 如何在重定向操作中传递 ActionMessage 和 ActionError [重复]

    这个问题在这里已经有答案了 可能的重复 我可以在不同的操作类之间传播 struts2 ActionErrors 吗 https stackoverflow com questions 1070111 can i propagate stru
  • html 表格单元格的条件格式

    是否有现成的解决方案可以对 HTML 表格进行条件格式设置 通过条件格式 我更感兴趣的是根据该列或其他列 在同一个表中 的值 数字 将不同的颜色作为单元格背景 类似于我们在 Excel 条件格式 gt 色阶 gt 红黄绿中的内容 我想在通过
  • 使用 flash 或 java servlet 将麦克风数据从浏览器上传到服务器的教程? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 There was a question on how to get data from a microphone on a client
  • ServletContext getContextPath()

    我检查了我的 Netbeans 项目中包含的 Tomcat 库的 javadoc 当我部署代码时工作正常 但是当我对我的 Web 项目进行全新构建时 我在 getContextPath 上收到 找不到符号 ServletContext接口的
  • JPS useBean 与 HashMap

    如何正确地将 jsp useBean 与列表和地图等集合一起使用 我可以通过使用获取列表 type List
  • 如何在 JSP 中导入类?

    我是一个完全的JSP初学者 我正在尝试使用java util List在 JSP 页面中 我需要做什么才能使用除以下类之外的类java lang 使用以下导入语句进行导入java util List 顺便说一句 要导入多个类 请使用以下格式
  • HttpSession 内的同步是否可行?

    UPDATE 问题后立即解决 问题 通常 同步是在 JVM 内序列化并行请求 例如 private static final Object LOCK new Object public void doSomething synchroniz
  • 在返回响应之前获取 servlet 请求的状态

    晚上好 我正在编写一个 Java Servlet Struts 2 Tomcat JSP 等 它能够进行一些相当复杂的模拟 这些可能最多需要 2 分钟才能完成 并将返回结果图表 计算模拟完成的百分比很简单 因为该过程是通过重复相同的计算数千
  • 使用 Apache commons 文件上传 API 在 Jsp 中上传多个文件

    我无法上传多个文件 我正在使用此代码 这里 itr hasNext 返回 false 文件上传 jsp
  • 如何在jsp中使用javascript动态创建下拉框?

    我正在尝试动态创建下拉框 就像当我单击添加按钮时它必须创建新的下拉框 下拉列表还包含动态值 例如需要当前年份并且必须显示最多五年 请建议我这样做 谢谢 这是我尝试过的代码 JavaScript 代码 function Add var nam
  • web.xml 中的多个安全约束不起作用

    我正在升级一个 Web 应用程序 Servlet 3 0 Tomcat 7 它的大部分页面都需要基本身份验证 该应用程序具有一小组监视 servlet 其中任何一个都不应该受到保护 在我的web xml 我目前有以下内容security c
  • 如何重定向到WEB-INF文件夹中的JSP

    我有一个带有 NAV 的 jsp 其中还包含 UL 和以下元素 如下面的代码所示
  • 在 Tomcat 中触发内部 ServletRequest

    我正在使用 Quartz 来安排 Web 应用程序的后台任务 其中一些任务只是针对同一 Web 应用程序发出请求 我想避免依赖于任何类型的网络设置 例如 如果从数据中心内发出带有我自己域名的请求 则可能无法正确路由 是否有一个 Java A
  • 如何使用 JSESSIONID 手动加载 Java 会话?

    我有一个处理多部分表单帖子的 servlet 该帖子实际上是由嵌入在页面中的 Flash 文件上传组件制作的 在某些浏览器中 Flash 生成的 POST 不包含 JSESSIONID 这使得我无法在发布期间从会话加载某些信息 Flash
  • 如何在 servlet 线程中获取新的有状态会话 bean?

    我正在尝试 EJB3 我想将一个有状态会话 bean 注入到 servlet 中 以便每个访问该 servlet 的用户都会获得一个新的 bean 显然 我不能让 bean 成为 servlet 的实例变量 因为它将被共享 显然不允许注入局
  • JSP模板实现(复合视图模式)

    为 Java 网站实现复合视图模式的最佳方法是什么 我的想法是采用一个 jsp 并包含多个页面 例如 h1 Layout Start h1
  • 我可以使用 jsp 标签在加载时隐藏输入字段吗

    我需要根据请求属性的值隐藏页面加载时的字段 我不想要 隐藏 字段 因为我想再次显示它 我不想用 JavaScript 来做到这一点 这是如何用 jsp 标签完成的 在 EL 中使用条件运算符 div class where hide 是请求
  • 尝试获取 GCS 中存储的图像的 getServingUrl 时出现 OBJECT_NOT_FOUND

    我写了一个Servlet 我正在其中读取图像blobstore 来自 GCS 的另一张图像 然后在对这两个图像应用合成后 我将合成图像存储回 GCS 中 我的代码到目前为止运行良好 之后 当我尝试获取合成图像的服务 url 时 我得到了一个
  • 使用什么事件来在选择文本框中的值时显示警报消息

    我正在使用 jquery 的自动完成 api 来从数据库中获取名称 但是我想在从显示的文本框中选择名称时显示一条警报消息 我将显示一个图像以便更好地理解 当我输入 S 时 它将显示所有包含 S 的记录 所以问题是 如果我选择例如 Spars

随机推荐

  • SlickGrid 中的单元格工具提示

    我的 SlickGrid 表格中的一些单元格有myClass class 我为他们添加了一个工具提示 如下所示 myClass hover Mouse enters function e Mouse leaves function 它工作正
  • 在 Kubernetes 中,如何在服务选择器中按名称选择 pod?

    我希望启动特定数量的独立且不负载平衡的 Pod 目的是使用它们向某些外部端点发送和接收某些流量 我计划执行此操作的方法是显式创建 Pod yaml 片段如下 apiVersion v1 kind Pod metadata name gene
  • 禁用 ios 上 html canvas 绘图的滚动/滑动操作

    我有一个html画布使用鼠标和触摸事件在其上绘图 我使用CSS触摸动作 无画布上的样式以禁用绘图时在设备上滚动 然而它只适用于非 IOS 设备 在 IOS 设备上的任何浏览器上 它仍然会执行滚动 滑动操作 并且很难正确绘制 这几乎就像是 I
  • 井字游戏策略缩减

    我决定编写一个解决 TicTacToe 问题的小程序 以便在一个简单的游戏上尝试一些修剪技术的效果 使用极小极大法解决该问题的完整博弈树最终只有 549 946 种可能的博弈 通过 alpha beta 剪枝 需要评估的状态数量减少到 18
  • 从 HttpURLConnection 对象解析 JSON

    我正在使用以下命令进行基本的 http 身份验证HttpURLConnectionJava 中的对象 URL urlUse new URL url HttpURLConnection conn null conn HttpURLConnec
  • 在有限的 16 字节字符串上将 IEEE 754-1985 双写为 ASCII

    这是我的后续原帖 但为了清楚起见 我会重复一遍 根据 DICOM 标准 可以使用十进制字符串的值表示来存储浮点类型 看表 6 2 1 DICOM 值表示 十进制字符串 表示固定数字的字符串 点数或浮点数 固定点数应 仅包含字符 0 9 并带
  • MS Access 中的 VBA + 线程 [重复]

    这个问题在这里已经有答案了 如何在 MS Access VBA 中创建在单独线程上运行的进程 我想创建一个只等待消息的流程 您可能想查看此解决方法 http www excelhero com blog 2010 05 multi thre
  • 为传入短信注册广播接收器

    如何注册 BroadcastReceiver 以阻止传入短信 IntentFilter intentFilter new IntentFilter Intent what should be here ctx registerReceive
  • Qt Designer 中的自定义布局

    无论如何 我们是否可以拥有自定义布局 例如定义为https doc qt io archives qt 4 7 examples layouts html 在 Qt 设计器内 在 Qt Designer 中添加此类自定义布局的过程是什么 任
  • 如何使用 matplotlib 绘制 .txt 文件中的数据?

    我想使用 matplotlib 绘制 txt 文件 但我不断收到此错误消息 我对 python 不太熟悉 因为我几周前开始学习 文本文件的格式如下 长 2048 行 6876 593750 1 6876 302246 1 6876 0034
  • 矩阵列表的元素均值[重复]

    这个问题在这里已经有答案了 假设您有矩阵列表 逐个元素计算平均矩阵的最方便的方法是什么 假设我们有一个矩阵列表 gt A lt matrix c 1 9 3 3 gt A 1 2 3 1 1 4 7 2 2 5 8 3 3 6 9 gt B
  • 从匿名方法调用带有 ref 或 out 参数的方法 [重复]

    这个问题在这里已经有答案了 这个问题与前几天我问过我从中得到了一些很好的有用的答案 我需要以通用方式调用具有不同签名的各种 Web 方法 我希望能够将 Web 方法传递给具有委托参数的方法 但我不确定如何处理不同的签名 解决方案是使用 la
  • NHibernate QueryOver 子查询

    我看过类似的问题 但找不到简单的解释 我可能会错过 但我保证我看了 事实上 除了一篇博文快速地概述了所有内容并假设您熟悉其他形式的 NH 之外 我什至找不到其他文档 给定之间的多对多Program and Topic 其中后者位于以下层次结
  • 如何以编程方式获取当前的跟踪开关?

    In my web config I have
  • Android:重定向拨出电话

    我试图将拨出电话重定向至其他电话号码在 Android 设备上 因此 我使用 BroadcastReceiver 监听 NEW OUTGOING CALL 意图 在他的 onReceive 方法上我使用 setResultData 方法来更
  • winreg.OpenKey 对现有注册表项抛出 filenotfound 错误

    我在读取由我的软件创建的注册表项时遇到困难 然而 使用相同的代码 我可以读取其他密钥 installdir winreg OpenKey winreg HKEY LOCAL MACHINE SOFTWARE Microsoft MediaP
  • D3 转换 - 暂停和恢复

    我试图从这里理解 D3 转换的 暂停 和 恢复 guide 虽然我理解 暂停 是如何工作的 但当谈到 恢复 时我却一点也不迷茫 我无法理解作者的解释 特别是 线性 或第一份简历说明 我的问题是什么e attr T 0 and attr T
  • 在 C# 中将 Access 图像 OLE 对象转换为原始图像字节数组

    对于我真正的问题 我似乎无法得到全部答案从数据库检索图像时参数无效所以我会一点一点地尝试 在 C 和 MS Access 2010 中使用 Visual Studio 2012 我的解决方案是一个与网络无关的应用程序 我不确定这部分 所以我
  • 使用 jquery 切换时未选中复选框

    我希望在使用 jquery 切换功能时选中该复选框 当我使用时效果很好 bind click chkb toggle function va text checked chkb attr checked checked function c
  • 如何在 web.xml 中配置欢迎文件列表

    我的 web xml 文档中有这个 我正在尝试创建一个欢迎列表 这样我就不需要再输入主页的路径了 但是每次单击我的 tomcat 页面中的应用程序时 它都会显示请求的资源不可用