在使用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";
}
}
如果有不合理的地方,欢迎指正!