Springmvc简介和应用实例

1.1 Springmvc框架的定义:

        springMVC它是spring框架的一个分支,该springMVC框架主要完成的功能是:==接收浏览器的请求响应,对数据进行处理,然后返回页面进行显示== 可以把它理解为和Servlet干的工作是一样的

1.2

使用springmvc之前,要先在jar包里引入依赖,不然代码会报红。

  <dependencies>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-webmvc</artifactId>
      <version>5.2.15.RELEASE</version>
    </dependency>
  </dependencies>

1.3 如何创建一个springmvc配置文件呢?

1. 点击标题栏的File

2. 点击 New

3.选中 xml.Configuration File

4如何在在三个选项中选中spring config

1.4 springmvc 的运行流程

1. 客户端发生请求

2. 来到tomcat服务器。

3. springmvc的前端控制器DipatcherServlet接受所有的请求。

4. 查看你的请求地址和哪个@RequestMaping匹配。

5. 执行对应的方法。方法会返回一个字符串。springmvc把该字符串解析为要转发的网页。

6. 把该字符串经过视图解析器拼接。

7. 拿到拼接的地址,找到对应的网页。

8. 渲染该网页给客户

1.5 如果发现接收的参数值出现乱码的话必须要添加过滤器

1.5.1自己创建编码过滤器.

public class MyEncodingFilter implements Filter {
    public void init(FilterConfig filterConfig) throws ServletException {

    }

    public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
        servletRequest.setCharacterEncoding("utf-8");
        servletResponse.setCharacterEncoding("utf-8");
        filterChain.doFilter(servletRequest,servletResponse);
    }
    public void destroy() {

    }
}

   <filter>
        <filter-name>encodingfilter</filter-name>
        <filter-class>com.yhm.filter.MyEncodingFilter</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>encodingfilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

代码运行出错合集

报错400

 出现如上图的这种错误,解决办法如下:

在实体类命名的时间类型的属性上添加一个注解:

@DateTimeFormat(pattern = "yyyy-MM-dd")

 //yyyy年  MM:月 dd日  24小时制  
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date birthday;//出生日期

并且在springmvc配置问价上开启注解驱动

 <!--开启注解驱动-->
    <mvc:annotation-driven/>

登录页面头衔加载不出来

原因:

springmvc的前端控制器DispatcherSerlvet也把静态资源拦截器,我们需要做的就是放行静态资源,代码如下

    <!--放行静态资源:哪些资源为静态资源。css img js html-->
    <mvc:default-servlet-handler/>

在springmvc中如何保存数据到网页上。

package com.yhm.controller;

import com.yhm.entity.Student;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.SessionAttribute;
import org.springframework.web.bind.annotation.SessionAttributes;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import java.util.Date;


@Controller
@SessionAttributes(value = {"user","user2"}) 
public class HelloController02 {

    @RequestMapping("/list")
    public String list(HttpServletRequest request){
        //查询学生信息。
        Student student=new Student(1,"梁又年","[email protected]",new Date());
        //可以保存到request中,同一个请求
        request.setAttribute("s",student);
        return "list.jsp"; //转发
    }
    @RequestMapping("/list2")
    public String list2(Model model){  
        Student student=new Student(1,"梁又年","[email protected]",new Date());
        model.addAttribute("s2",student);
        return "list.jsp"; //转发
    }
    //上半部分是保存request范围。如何保存session范围。
    @RequestMapping("/list3")
    public String list3(HttpSession session){
        Student student=new Student(2,"夏淼淼","[email protected]",new Date());
        session.setAttribute("user",student);
        return "list.jsp"; //转发
    }

    @RequestMapping("/list4")
    public String  list4( Model model){
        Student student=new Student(3,"夏垚垚","[email protected]",new Date());
    
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Yu_HM

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值