0

我对 Spring MVC 很陌生,我正在尝试在 JSP 中“包含”一个 JS 文件。

我的文件夹结构是:

webapp
- WEB-INF
- scripts
- META-INF
- - jsp
- - - myFile.jsp

我正在尝试使用以下代码在 myFile.jsp 中的脚本文件夹中包含一个 js 文件:

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
        <title>Highstock Example</title>

        <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>

        <script type="text/javascript" src="<c:url value="/scripts/1.js" />"></script>


        <script type="text/javascript">
            $(function()
            {...

我正在尝试使用 1.js 中的代码。

这是我的 web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns="http://java.sun.com/xml/ns/javaee"
    xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
    id="WebApp_ID" version="2.5">
    <display-name>Spring3-Hibernate</display-name>
    <welcome-file-list>
        <welcome-file>list.html</welcome-file>
    </welcome-file-list>

    <servlet>
        <servlet-name>spring</servlet-name>
        <servlet-class>
            org.springframework.web.servlet.DispatcherServlet
        </servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>

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

    <!--<context-param>-->
        <!--<param-name>contextConfigLocation</param-name>-->
        <!--<param-value>/WEB-INF/applicationContext.xml</param-value>-->
    <!--</context-param>-->

    <!--<listener>-->
        <!--<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>-->
    <!--</listener>-->



</web-app>

问题是,当点击所需的页面时,JSP 会加载,但由于浏览器无法访问 1.js,我在萤火虫中得到 404。(我已经检查过了,文件在那里:)

任何建议都会有所帮助,谢谢

4

1 回答 1

0

您的弹簧控制器处理您的所有请求:

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

因此,您的 1.js 和所有其他文件将转到 spring servlet 调度程序。而且您没有此 url 的映射:控制器或视图解析器或静态资源映射。

于 2012-06-22T07:16:50.820 回答