相关疑难解决方法(0)

使用Spring,在web.xml中映射到root,找不到静态资源

我要做的是将请求映射到servlet根目录(正确的术语?).我正处于将URL映射到正确视图的位置,但无法找到作为页面一部分的所有静态内容--css,javascript,images.

所以在我的web.xml中,我的servlet标签看起来像这样

<servlet-mapping>
    <servlet-name>springapp</servlet-name>
    <url-pattern>/</url-pattern>
</servlet-mapping>
Run Code Online (Sandbox Code Playgroud)

我的控制器看起来像这样:

@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;
    }

}
Run Code Online (Sandbox Code Playgroud)

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);
}
Run Code Online (Sandbox Code Playgroud)

我在视图层中使用Tiles.我的配置如下: …

model-view-controller spring tiles

29
推荐指数
2
解决办法
6万
查看次数

DefaultAnnotationHandlerMapping的工作原理

我对DefaultAnnotationHandlerMapping的工作方式感到困惑.

在我的web.xml中我有

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

    <url-pattern>/users</url-pattern>
    <url-pattern>/user/*</url-pattern>
  </servlet-mapping>  
Run Code Online (Sandbox Code Playgroud)

我有这样的控制器,

   @RequestMapping(value="/user/adduser", method={RequestMethod.POST})
    public void addAdmin(@ModelAttribute("myData") myData data) {

        System.out.println("We reached adduser controller");

    }
Run Code Online (Sandbox Code Playgroud)

在我有的jsp文件中

<form:form id="adduser" method="post" action="/user/adduser" commandName="myData">
Run Code Online (Sandbox Code Playgroud)

这不起作用.我得到错误没有为"/ adduser"找到处理程序映射,404为页面"/ user/adduser"

但是如果我提到的话,在.xml文件中

  <url-pattern>/user/adduser</url-pattern>
Run Code Online (Sandbox Code Playgroud)

它工作,或者如果我使控制器像,

  @RequestMapping(value="/adduser", method={RequestMethod.POST})
Run Code Online (Sandbox Code Playgroud)

也有效.提交页面时,它会到达正确的控制器.

我现在对@ReuqestMapping的工作方式很困惑.当一个请求来自"/ user/adduser"时,它将从哪里开始寻找合适的类和正确的方法?

spring spring-mvc

5
推荐指数
1
解决办法
1万
查看次数

标签 统计

spring ×2

model-view-controller ×1

spring-mvc ×1

tiles ×1