使用URL模式的servlet映射不起作用,必须使用URL-servlet / servletclassname来使用servlet

时间:2012-12-08 09:27:18

标签: java servlets web-hosting web.xml

  

我有一个java(jsp / servlet)的web托管空间,我试过了   很多时候servlet使用web.xml文件中的映射及其URL   模式,当我使用该URL然后显示消息“The   在此服务器上找不到请求的URL / myservlet。“页面是   默认设置由托管服务提供商所以当我从托管中询问时   我无法使用myservlet或任何servlet的提供程序   映射到web.xml文件然后回复给我“使用你的servlet   请关注URL- www.yourdomain.com/servlet/myservlet“,当我   使用此URL,我没有在我的web.xml文件中映射工作   而且我还有很多时间服务器没有使用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>

2 个答案:

答案 0 :(得分:0)

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

有许多部分可以放在一起,所以我建议自己尝试一下。 特别是写出getServletContextPath和所有那些部分路径获取者。

签入web.xml

  • web-app / display-name
  • web-app / servlet-mapping / url-pattern +

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

答案 1 :(得分:0)

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