什么是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.解决乱码
使用过滤器
java
@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() {
}
}