springMVC

SpringMVC

1.快速入门

1.1创建maven_web项目
1.2创建Java和resources目录,将Java目录和resources目录分别变成Source Root和Resources Root
1.3导入maven坐标
1.4配置前端控制器 在web.xml中配置DispatcherServlet
1.5创建springmvc.xml配置文件 在resources目录上右键new --> XML Configuration File --> Spring Config
1.6部署Tomcat服务器


<properties>
	<spring.version>5.0.2.RELEASEspring.version>
properties>

<dependencies>
    <dependency>
        <groupId>org.springframeworkgroupId>
        <artifactId>spring-contextartifactId>
        <version>${spring.version}version>
    dependency>

    <dependency>
        <groupId>org.springframeworkgroupId>
        <artifactId>spring-webartifactId>
        <version>${spring.version}version>
    dependency>

    <dependency>
        <groupId>org.springframeworkgroupId>
        <artifactId>spring-webmvcartifactId>
        <version>${spring.version}version>
    dependency>

    <dependency>
        <groupId>javax.servletgroupId>
        <artifactId>servlet-apiartifactId>
        <version>2.5version>
        <scope>providedscope>
    dependency>

    <dependency>
        <groupId>javax.servlet.jspgroupId>
        <artifactId>jsp-apiartifactId>
        <version>2.0version>
        <scope>providedscope>
    dependency>
dependencies>

<servlet>
  <servlet-name>dispatcherServletservlet-name>
  <servlet-class>org.springframework.web.servlet.DispatcherServletservlet-class>
servlet>

<servlet-mapping>
  <servlet-name>dispatcherServletservlet-name>
  <url-pattern>/url-pattern>
servlet-mapping>

<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:mvc="http://www.springframework.org/schema/mvc"
       xmlns:context="http://www.springframework.org/schema/context"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="
        http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/mvc
        http://www.springframework.org/schema/mvc/spring-mvc.xsd
        http://www.springframework.org/schema/context
        http://www.springframework.org/schema/context/spring-context.xsd">
beans>

2.入门小案例

需求:运行服务器后在主页点击主页的链接,跳转到success.jsp页面,并且在控制台输出一句话。

做好如上六步后,首先在index.jsp文件中编写页面代码

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>入门程序title>
head>
<body>
    <h3>入门程序h3>
    <a href="hello">入门程序a>
body>
html>

之后在java类路径下创建一个HelloController类文件,作为控制器类

//控制器类
@Controller
public class HelloController {
     
    @RequestMapping(path = "/hello")
    public String sayHello(){
     
        System.out.println("Hello SpringMVC");
        //写上success,在经过@RequestMapping注解的支持,就会默认跳转到success.jsp文件,当然需要配置好文件目录地址
        return "success";
    }
}

在WEB-INF目录下创建pages目录,在pages目录下创建success.jsp文件

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Titletitle>
head>
<body>
    <h3>入门程序配置成功!h3>
body>
html>

在springmvc.xml配置文件中添加spring注解支持、视图解析器对象和springmvc直接扫描支持


<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:mvc="http://www.springframework.org/schema/mvc"
       xmlns:context="http://www.springframework.org/schema/context"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="
        http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/mvc
        http://www.springframework.org/schema/mvc/spring-mvc.xsd
        http://www.springframework.org/schema/context
        http://www.springframework.org/schema/context/spring-context.xsd">
    
    
    <context:component-scan base-package="cn.rzpt">context:component-scan>
    
    <bean id="internalResourceViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        
        <property name="prefix" value="/WEB-INF/pages/">property>
        
        <property name="suffix" value=".jsp">property>
    bean>
    
    <mvc:annotation-driven/>
beans>

最后在web.xml配置文件中配置加载springmvc.xml文件


<web-app>
    <display-name>Archetype Created Web Applicationdisplay-name>
    <servlet>
        
        <servlet-name>dispatcherServletservlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServletservlet-class>
        
        
        <init-param>
            <param-name>contextConfigLocationparam-name>
            <param-value>classpath:springmvc.xmlparam-value>
        init-param>
        
        <load-on-startup>1load-on-startup>
        
    servlet>
    <servlet-mapping>
        <servlet-name>dispatcherServletservlet-name>
        <url-pattern>/url-pattern>
    servlet-mapping>
web-app>

最后运行Tomcat服务器,查看结果展示。

3.SpringMVC新注解详解

3.1@RequestMapping注解

springMVC_第1张图片

@Target({ElmentType.Method,ElementType.TYPE})表示RequestMapping注解可以作用在或者方法上面

  • 当作用在类上面可以表示某一个模块,例如:/user
  • 当作用在方法上面可以表示某一模块中的个别方法,例如:/user/saveUser

springMVC_第2张图片


path与value属性:用于指定请求参数的URL
@AliasFor(“path”)与@AliasFor(“value”)表示path属性和value属性可以通用

在这里插入图片描述

method属性:表示用于指定请求的方式
常用:POST,GET


在这里插入图片描述

params属性:用于指定限制请求参数的条件。要求请求参数的key和value必须与配置的一模一样

在这里插入图片描述
在这里插入图片描述


在这里插入图片描述

headers属性:用于指定限制请求消息头的条件

4.请求参数绑定

请求参数绑定就是将视图页面提交的数据,在后台的方法中进行封装,对方法中的参数赋值的过程。

可以参数绑定的数据类型:

  • 基本数据类型和字符串
  • 实体类型(Javabean)
  • 集合数据类型(List,Map等)

参数绑定的要求:页面提交的参数的name必须与后台方法中参数名相同

基本数据类型绑定:

在这里插入图片描述
在这里插入图片描述

对实体类进行绑定: 对实体类进行绑定时,必须要将视图页面的参数名与实体类的属性名一一对应,之后在后台方法的参数中加上实体类参数即可封装。

在这里插入图片描述
在这里插入图片描述
扩展:当实体类中引用了其他对象,要对引用的对象也一起封装,可以参考如下这样。(实体类中都包含get和set方法)
springMVC_第3张图片

解决中文请求参数乱码问题:在web.xml中配置过滤器。
springMVC_第4张图片
在这里插入图片描述
注:如果标签报错,调整filter过滤器的位置即可,将filter过滤器紧跟标签后面即可。

集合类型参数绑定: 当绑定集合类型参数时,将前端页面的name属性值更改即可。
springMVC_第5张图片

你可能感兴趣的:(SpringMVC,java,spring,mvc)