<!-- 通过context:component-scan元素扫描指定包下的控制器-->
<!--1) 扫描com.javaxl.zf及子子孙孙包下的控制器(扫描范围过大,耗时)-->
<aop:aspectj-autoproxy/>
<context:component-scan base-package="com.javaxl.ssm"/>
<!--2) 此标签默认注册DefaultAnnotationHandlerMapping和AnnotationMethodHandlerAdapter -->
<!--两个bean,这两个bean是spring MVC为@Controllers分发请求所必须的。并提供了数据绑定支持,-->
<!--@NumberFormatannotation支持,@DateTimeFormat支持,@Valid支持,读写XML的支持(JAXB),读写JSON的支持(Jackson)-->
<mvc:annotation-driven></mvc:annotation-driven>
<!--3) ViewResolver -->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<!-- viewClass需要在pom中引入两个包:standard.jar and jstl.jar -->
<property name="viewClass"
value="org.springframework.web.servlet.view.JstlView"></property>
<property name="prefix" value="/"/>
<property name="suffix" value=".jsp"/>
</bean>
<!--4) 单独处理图片、样式、js等资源 -->
<!--<mvc:resources location="/css/" mapping="/css/**"/>-->
<mvc:resources location="/images/" mapping="/images/**"/>
<!--<mvc:resources location="/js/" mapping="/js/**"/>-->
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<!-- 必须和用户JSP 的pageEncoding属性一致,以便正确解析表单的内容 -->
<property name="defaultEncoding" value="UTF-8"></property>
<!-- 文件最大大小(字节) 1024*1024*50=50M-->
<property name="maxUploadSize" value="52428800"></property>
<!--resolveLazily属性启用是为了推迟文件解析,以便捕获文件大小异常-->
<property name="resolveLazily" value="true"/>
</bean><!-- Spring MVC servlet -->
<servlet>
<servlet-name>SpringMVC</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<!--此参数可以不配置,默认值为:/WEB-INF/springmvc-servlet.xml-->
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/springmvc-servlet.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
<!--web.xml 3.0的新特性,是否支持异步-->
<async-supported>true</async-supported>
</servlet>
<servlet-mapping>
<servlet-name>SpringMVC</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>相关代码
@Controller
@RequestMapping("/book")
public class BookController {
@Autowired
private HBookService bookService;
@RequestMapping("/list")
public String list(HttpServletRequest request, HBook book){
PageBean pageBean = new PageBean();
pageBean.setRequest(request);
List<HBook> hBooks = this.bookService.queryHbooksPager(book, pageBean);
request.setAttribute("bookList",hBooks);
request.setAttribute("pageBean",pageBean);
return "/bookList.jsp";
}
@ResponseBody
@RequestMapping("/ajax")
public List<HBook> ajax(HttpServletRequest request, HBook book){
PageBean pageBean = new PageBean();
pageBean.setRequest(request);
List<HBook> hBooks = this.bookService.queryHbooksPager(book, pageBean);
return hBooks;
}
@RequestMapping("/pageUrl")
public String pageUrl(String pageUrl){
return pageUrl;
}
@RequestMapping("/add")
public String add(String pageUrl,HBook book){
this.bookService.insertSelective(book);
return "redirect:/book/list";
}
/**
* 重定向到requestMapping请求上
* @return
*/
@RequestMapping("/del/{bid}")
public String del(@PathVariable(value = "bid") Integer bid){
this.bookService.deleteByPrimaryKey(bid);
// 关于结果码的配置有以下几种情况
// 1、转发到web-inf/**/jsp页面
// 2、转发到后台的某一requestMapping请求上
// 3、转发到webapp下页面
// 4、重定向到后台的某一requestMapping请求上
// 5、重定向到webapp下页面
return "redirect:/book/list";
}
/**
* 转发到后台的某一requestMapping请求上
* @return
*/
@RequestMapping("/forward2")
public String forward2(){
return "forward:/book/list";
}
/**
* 转发到webapp下页面
* @return
*/
@RequestMapping("/forward3")
public String forward3(){
return "forward:/login.jsp";
}
@RequestMapping("/redirect3")
public String redirect3(){
return "redirect:/login.jsp";
}
}
备案号:湘ICP备19000029号
Copyright © 2018-2019 javaxl晓码阁 版权所有