搭建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() {

    }
}
相关推荐
weixin_440784113 小时前
【HandlerThread实现原理】
android·java·开发语言
leoZ2313 小时前
本地跑大模型实战(七):llama.cpp 性能调优,让推理更快更省
java·人工智能·spring·生成对抗网络·语言模型·自然语言处理·llama
mubei-1235 小时前
SpringDAO的用法
java·开发语言·数据库
大模型momo5 小时前
Spring AI 实战:多 Agent 协作实战 —— 分工拆解复杂旅游行程任务
人工智能·spring·ai·agent·旅游
happymagic5 小时前
java spring boot做的jar包程序,如何实现自动运行启动
java·运维·服务器·spring boot·jar
都叫我大帅哥8 小时前
给 Java 程序员的 CSRF 攻击详解:从原理到防御实战
java
江南十四行8 小时前
Spring框架核心(上)——IoC控制反转与DI依赖注入详解
java·后端·spring
fb_123459 小时前
Linux磁盘分区从入门到实操:MBR_GPT全解析+分区工具实战指南
java·linux·gpt
码智社10 小时前
JSON 零基础到资深全体系教程
java·json
wgego11 小时前
基础的反序列化一些总结(php和java)
java·开发语言·笔记