搭建springmvc项目

什么是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() {

    }
}
相关推荐
程序员JerrySUN11 分钟前
[特殊字符] 深入理解 Linux 内核进程管理:架构、核心函数与调度机制
java·linux·架构
2302_8097983214 分钟前
【JavaWeb】Docker项目部署
java·运维·后端·青少年编程·docker·容器
网安INF38 分钟前
CVE-2020-17519源码分析与漏洞复现(Flink 任意文件读取)
java·web安全·网络安全·flink·漏洞
一叶知秋哈38 分钟前
Java应用Flink CDC监听MySQL数据变动内容输出到控制台
java·mysql·flink
jackson凌44 分钟前
【Java学习笔记】SringBuffer类(重点)
java·笔记·学习
sclibingqing1 小时前
SpringBoot项目接口集中测试方法及实现
java·spring boot·后端
程序员JerrySUN1 小时前
全面理解 Linux 内核性能问题:分类、实战与调优策略
java·linux·运维·服务器·单片机
糯米导航1 小时前
Java毕业设计:办公自动化系统的设计与实现
java·开发语言·课程设计
糯米导航1 小时前
Java毕业设计:WML信息查询与后端信息发布系统开发
java·开发语言·课程设计
米粉03051 小时前
深入剖析Nginx:从入门到高并发架构实战
java·运维·nginx·架构