我想知道如何在WEB-INF
的某个目录下直接访问JSP页面,并且在/
路径上运行Spring,而无需为转发视图编写任何控制器。如何用Spring加载直接访问JSP页面?
例如,我有一个项目myapp
结构如下:
src
WebRoot
`-- WEB-INF
|-- public
| `-- example.jsp
|-- views
现在,我想直接前往http://localhost/myapp/public/example
没有实施任何控制器访问example.jsp
。
我试过到目前为止:
添加
<mvc:resources mapping="/public/**" location="/WEB-INF/public/"/>
到我的上下文XML,但它只是将无法正常工作,容器不断抱怨HTTP 404 - PAGE NOT FOUND /public/example.jsp
。将内部资源视图解析器添加到我的上下文xml。
<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix"> <value>/WEB-INF/</value> </property> <property name="suffix"> <value>.jsp</value> </property> </bean>
,但我不知道下一步该怎么做,我也许把很多JSP页面
/WEB-INF/public
下,所以写控制器为他们每个人将是乏味的。
是否有任何规范的方式来做到这一点?请帮忙!
你想要做这样的事情浏览器类型/这重定向example.jsp页? –
@ T.Jung问题已更新。 –
你甚至不应该尝试。如果您需要直接访问JSP,则应将其存储在WEB-INF之外。 JSP不是一个**静态**资源。它通过servlet容器编译成servlet,并且该编译代码由servlet容器调用。 –