SpringMVC
SpringMVC是web层面的mvc框架
三层架构:
控制层: Servlet
业务层: Service
数据访问层: Dao
MVC设计思想:
M:Model 实体模型 ,封装数据
V:View 视图,展现数据
C:Controller控制,接收参数,页面跳转
MVC之前:
MVC之后(解耦合):
SpringMVC
SpringMVC入门演示
第一步: 创建javaweb项目
第二步: 导入jar包(4个核心包+1日志包)+Spring-mvc.jar+Spring-webmvc.jar
第三步: 首先创建Controller-控制器/处理器
package com.zzx.controller;
import com.zzx.model.Role;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import java.util.List;
import java.util.Map;
/**
* @auther ZhengZiXuan
* @date 2021/3/4 19:26
* @desc
*/
@Controller
@RequestMapping("/role")
//@RequestMapping(value="/role,method={RequestMethod.Get})
/**
* @RequestMapping()中的value是路径,method={RequestMethod.Get}的作用是只接收Get请求,也可以设
* 置其他的(DELETE,HEAD,OPTINOS,PATCH,POST,PUT,TRACE)
*/
public class RoleController {
@RequestMapping("/intid") //对应前端页面中<form action="/role/intid.do">
public String 接收数字(int id){ //此处的id对应前端页面中的name
System.out.println(id);
return "qq"; //return的是对应的是.jsp的名
}
}
第四步: 配置SpringMVC.xml文件
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd">
<context:component-scan base-package="com.zzx.controller"/>
<!--日期转换类-->
<bean id="mydate" class="com.zzx.util.MyDateConvert"/> <!--此处的class的地址对应着我们自己写的时间格式工具类
因为SpringMVC没有对时间进行优化,需要我们自己规范规 范时间 -->
<!--日期格式化工厂-->
<bean id="formattingC" class="org.springframework.format.support.FormattingConversionServiceFactoryBean">
<property name="converters">
<set>
<ref bean="mydate"/>
</set>
</property>
</bean>
<!--用来取代映射器与适配器的-->
<mvc:annotation-driven conversion-service="formattingC"/>
<!--视图解析器-->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<!--将页面路径和后缀拼装完成-->
<property name="prefix" value="/view/"/>
<property name="suffix" value=".jsp"/>
</bean>
</beans>
创建一个规范时间的工具类(也可以使用注解来规范时间@DateTimeFormat(pattern = "yyyy-MM-dd") /),此处二选一
package com.zzx.util;
import org.springframework.core.convert.converter.Converter;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
/**
* @auther ZhengZiXuan
* @date 2021/3/4 19:16
* @desc
*/
public class MyDateConvert implements Converter<String,Date> {
/**
* Converter导入的包是org.springframework.core.convert.converter.Converter */
@Override
public Date convert(String source) {
System.out.println("MyDateConvert = "+source);
Date date = null;
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
try {
date = simpleDateFormat.parse(source);
}catch (ParseException p){
p.printStackTrace();
}
return date;
}
}
第五步: 在web.xml配置文件中配置前端控制器
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
version="3.1">
<!-- ==== 前端控制器 ==== -->
<servlet>
<servlet-name>dispatcherServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<!-- name是固定写法 -->
<param-name>contextConfigLocation</param-name>
<param-value>classpath:springmvc.xml</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>dispatcherServlet</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
</web-app>
第六步 : 创建.jsp页面
第七步: 配置TomCat,测试代码