【发布时间】:2011-01-08 22:46:15
【问题描述】:
我想要做的是将请求映射到 servlet 根目录(正确的术语?)。我正处于将 URL 映射到正确视图的位置,但无法找到作为页面一部分的所有静态内容 - css、javascript、图像。
所以在我的 web.xml 中,我的 servlet 标记看起来像这样
<servlet-mapping>
<servlet-name>springapp</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
我的控制器看起来像这样:
@RequestMapping("/shop")
public class TheShopController extends MyBaseController {
public static String VIEW = "Tile.Shop";
@Override
@RequestMapping(method = RequestMethod.GET)
protected ModelAndView processRequest(HttpServletRequest req, HttpServletResponse resp) {
ModelAndView mav = new ModelAndView(VIEW);
return mav;
}
}
MyBaseController 非常简单。它看起来像这样:
public abstract class MyBaseController extends AbstractController {
protected Logger log = Logger.getLogger(getClass());
@Override
protected ModelAndView handleRequestInternal(HttpServletRequest req, HttpServletResponse resp)
throws Exception {
ModelAndView mav = processRequest(req, resp);
return mav;
}
protected abstract ModelAndView processRequest(HttpServletRequest req, HttpServletResponse resp);
}
我在视图层中使用 Tiles。我的配置如下:
/WEB-INF/tiles-defs.xml
正如我所提到的,可以找到视图,但找不到作为页面端口的静态资源。下面是一些典型的注销:
2010-01-24 17:25:01,777 调试 [http-8080-7] servlet.DispatcherServlet (DispatcherServlet.java:690) - 名称为“springapp”的 DispatcherServlet 处理 [/springapp/static/css/account.css] 的 GET 请求 2010-01-24 17:25:01,778 警告 [http-8080-4] servlet.DispatcherServlet (DispatcherServlet.java:962) - 没有为 HTTP 请求找到映射 DispatcherServlet 中带有名称的 URI [/springapp/static/css/shop.css] 'springapp' 2010-01-24 17:25:01,778 调试 [http-8080-6] servlet.FrameworkServlet (FrameworkServlet.java:677) - 成功 完成请求 2010-01-24 17:25:01,778 WARN [http-8080-5] servlet.DispatcherServlet (DispatcherServlet.java:962) - 无映射 找到带有 URI [/springapp/static/css/offers.css] 的 HTTP 请求 名称为“springapp”的 DispatcherServlet 2010-01-24 17:25:01,778 警告 [http-8080-3] servlet.DispatcherServlet (DispatcherServlet.java:962) - 找不到带有 URI 的 HTTP 请求的映射 DispatcherServlet 中的 [/springapp/static/css/scrollable-buttons.css] 名称为“springapp”
要去 http://localhost:8080/springapp/shop 工作正常,但缺少 css 和图像。
我认为使用 Tiles 会使事情变得复杂,但我不愿意摆脱它。我想知道我是否需要调整我的视图分辨率配置需要以某种方式调整?链接视图解析器可能吗?我是只是没有那么有经验。
【问题讨论】:
标签: model-view-controller spring tiles