我对web-INF下的webapp vs下的spring mvc和jsp页面位置有疑问.
让我们说我们有以下设置.
webapp
WEB-INF
mvc-dispatcher.xml
web.xml
login.jsp
register.jsp
success.jsp
error.jsp
index.jsp
Run Code Online (Sandbox Code Playgroud)
我可以使用http://host.com/app/index.jsp这样的网址从浏览器引用页面,从那里我可以链接(一个href)到register.jsp.从register.jsp我发布到控制器,它可以返回解析为success.jsp的成功视图(使用InternalResourceViewResolver).
如果我在WEB-INF下移动jsp页面(而不是早先在webapp下),我将无法从浏览器中引用http://host.com/app/index.jsp.同样来自success.jsp目前我使用href ="index.jsp" 链接到index.jsp,需要将其更改为映射到控制器(可能位于/就像调度程序servlet),它将返回索引作为视图名称.所以我的所有链接都需要由控制器提供.我对吗 ?或者当jsp页面位于WEB-INF下时(参见InternalResourceViewResolver),有没有办法在没有任何映射控制器的情况下引用jsp页面.
问候,
米滕.
你是绝对正确的.您不能WEB-INF直接从浏览器中引用JSP .这非常好.您的所有请求都应该通过控制器转发到JSP,并且您的所有JSP都应该在WEB-INF.这样做的原因有很多:
WEB-INF可用于提供不同的URL而无需任何更改,用户将对此一无所知!考虑到您在没有Controller的情况下直接引用JSP的问题:
/notmappedurlSpring(Tiles)时会尝试查找notmappedurl模板定义.(根据我对Tiles + Spring的经验).我认为其他视图技术也有类似的行为.@RequestMapping("/someurl")void someurl(){}.Spring将尝试someurl根据方法名称查找视图.只是一个存根.| 归档时间: |
|
| 查看次数: |
7367 次 |
| 最近记录: |