在使用SpringMVC开发网站时候,前后台文件目录如何设置比较合理? 控制器怎么区分前后台请求 ? 拦截器如何只拦截后台请求? 首页如何跳转?
我来说说我的方法,欢迎大家一起讨论:
1、所有文件放在WEB-INF目录下包含起来,最好分为前台,后台2个文件夹:
WEB-INF/jsp/admin/
WEB-INF/jsp/front/
2、后台控制器也分为前后台控制器两个不同的package:
com.dream.http.controller.admin
com.dream.http.controller.front
所有请求admin下的控制器都会带上/admin/这一前缀
所有请求front下的控制器都会带上/front/这一前缀
如:/admin/goods/addgood.do
/front/product/getProductList.do
这样从方法上就能判断哪些是后台请求,哪些是前台请求。还便于后面拦截器的配置。
3、拦截器只拦截后台请求:
< mvc:interceptors> <mvc:interceptor > <mvc:mapping path = "/admin/**"/> <bean class= "com.dream.http.interceptor.SessionInterceptor" > </bean > </mvc:interceptor > </mvc:interceptors >
4、默认首页问题:
首先在web.xml上配置一个<welcome-file>
<welcome-file-list> <welcome-file>index</welcome-file> </welcome-file-list>
然后给SpringMVC的servlet配置一个servlet映射:
<!-- 配置spring mvc mapping --> <servlet-mapping> <servlet-name>SpringMVC</servlet-name> <url-pattern>/index</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>SpringMVC</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping>
这样就会默认进入index控制器,可以从index控制器取值并发送给index.jsp了
@Controller public class FrontController extends BaseController{ @RequestMapping("/index") public String ToFrontIndex(){ return "/front/index"; } }
如果有不合理的地方,欢迎指正!