什么是springmvc
MVC它是一种设计理念。把程序按照指定的结构来划分: Model模型 View视图 Controller控制层
springmvc框架是spring框架的一个分支。它是按照mvc架构思想设计的一款框架。
springmvc的主要作用: 接收浏览器的请求数据,对数据进行处理,然后返回页面进行显示.
1.创建maven的web工程,引入依赖 spring-webmvc
2.创建spring配置文件
【1】包扫描
<context:component-scan base-package="com.ghx"/>
【2】开启注解驱动
<mvc:annotation-driven/>
【3】 <!-- 放行静态资源 -->
<mvc:default-servlet-handler/>
【4】视图解析器
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<!-- 前缀-->
<property name="prefix" value="/views/"/>
<!-- 后缀-->
<property name="suffix" value=".jsp"/>
</bean>
3.注册公共servlet DispatcherServlet
<servlet> <servlet-name>springmvc01</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:springmvc01.xml</param-value> </init-param> </servlet> <servlet-mapping> <servlet-name>springmvc01</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping>
4.编写controller类
@Controller public class HelloController { @RequestMapping("/index") public String index(){ System.out.println("你好"); return "/hello"; } }
5.接受页面传来的大量参数,日期格式
使用实体类,实体类的属性要和参数的名字一致
日期格式需使用注解
@DateTimeFormat(pattern = "yyyy-MM-dd")
6.解决乱码
使用过滤器
@WebFilter(urlPatterns = "/*")
public class EncodingFilter implements Filter {
@Override
public void init(FilterConfig filterConfig) throws ServletException {
}
@Override
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
servletRequest.setCharacterEncoding("utf-8");
servletResponse.setCharacterEncoding("utf-8");
filterChain.doFilter(servletRequest,servletResponse);
}
@Override
public void destroy() {
}
}