1

我有一个 java (jsp/servlet) 的网络托管空间,我已经尝试了很多次使用 web.xml 文件中的映射及其 URL 模式的 servlet,当我使用该 URL 时,它显示消息“未找到请求的 URL /myservlet在这台服务器上。” 托管服务提供商默认设置的页面。因此,当我向托管服务提供商询问我无法使用 myservlet 或 web.xml 文件中映射的任何 servlet 时,我回复说“要使用您的 servlet,请遵循 URL-www.yourdomain.com/servlet/myservlet”当我使用这个我没有在我的 web.xml 文件中映射的 URL 时,我有很多次 web.xml 文件没有被服务器使用

所以我想问它为什么会发生,我的意思是为什么 web.xml 文件不起作用,为什么我必须使用 /servlet/servletclassname 才能使用 servlet,现在我如何使用动态 URL 的 URL 模式......

请哪位朋友帮帮我……!!!

这是 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">
    <servlet>
        <servlet-name>MyServlet</servlet-name>
        <servlet-class>MyPackage.MyServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>MyServlet</servlet-name>
        <url-pattern>/MyServlet</url-pattern>
    </servlet-mapping>
    <session-config>
        <session-timeout>
            30
        </session-timeout>
    </session-config>
</web-app>
4

2 回答 2

2

您是否使用正确的上下文 作为 URL 中路径的第一部分?每当您部署应用程序时,您都需要指定一个标识所有 URL 的上下文。任何 url 模式都将该上下文之后应用。假设您有一个名为“MyShop”的上下文,然后使用您提供的 web.xml,您应该调用 http:// yourdomain /MyShop/MyServlet 。

于 2012-12-08T15:02:28.063 回答
0

先在家里试试。NetBeans IDE(例如)具有良好的服务器集成。您可以使用打包的 Glassfish(或 Tomcat)下载它并在那里进行实验。

有很多部分要放在一起,所以我建议自己尝试一下。尤其是写出getServletContextPath和所有那些部分路径获取器。

签入 web.xml

  • 网络应用程序/显示名称
  • web-app / servlet-mapping / url-pattern+

同样通过自动部署,战争名称可能很重要。

于 2012-12-08T09:49:18.003 回答