Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/365.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用“创建servlet url模式”/&引用;_Java_Jsp_Servlets_Servlet Filters_Servlet 3.0 - Fatal编程技术网

Java 使用“创建servlet url模式”/&引用;

Java 使用“创建servlet url模式”/&引用;,java,jsp,servlets,servlet-filters,servlet-3.0,Java,Jsp,Servlets,Servlet Filters,Servlet 3.0,我已经创建了名为MainContent的servlet。我有这样的映射 <servlet> <display-name>MainContent</display-name> <servlet-name>MainContent</servlet-name> <servlet-class>ge.test.servlet.MainContent</servlet-class> </serv

我已经创建了名为MainContent的servlet。我有这样的映射

<servlet>
    <display-name>MainContent</display-name>
    <servlet-name>MainContent</servlet-name>
    <servlet-class>ge.test.servlet.MainContent</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>MainContent</servlet-name>
    <url-pattern>/main</url-pattern>
</servlet-mapping>
一切正常

RequestDispatcher rd = context.getRequestDispatcher("/index.jsp?language="+ lang);
rd.forward(request, response);
问题:

现在我需要更改url模式。我需要这样的东西-:当我进入localhost:8080/MyAppl/时,我需要被重定向到我的servlet。 所以我创造了这样的东西:

/

好的,它工作了我被重定向到servlet但是这里出了点问题。当Servlet创建RequestDispatcher forward时,在我的index.jsp中并没有图像和css。 当我在firebug控制台中看到这些错误时:

Resource interpreted as Stylesheet but transferred with MIME type text/html: "http://localhost:8080/MyApp/font/font_big.css". localhost/:15
Resource interpreted as Image but transferred with MIME type text/html: "http://localhost:8080/MyApp/IMG/company.gif".

我怎样才能解决这个问题

是的,比如@DwB pointed,“/”上下文是有问题的URL模式,它会导致您的问题

使用


MainServlet
相反。这是“Servlet3.0方式”实现的

来源

[1]


[2]

您遇到的问题是,您的所有资源路径都以/开头。您需要添加一些东西来处理资源(spring为此提供了一个资源servlet),并使用一个公共URL模式来标识资源(例如,所有资源都以“/Resourcde”开头),然后在web.xml文件中的“/”映射之前添加资源处理程序servlet映射。这演示了spring解决方案:我不使用spring。我只使用servlet和JSP。你能给我一个例子,如何做到这一点?所以,使用空作为特殊的url模式。
<servlet-mapping>
    <servlet-name>MainServlet</servlet-name>
    <url-pattern></url-pattern>
</servlet-mapping>