Whai_springmvc笔记

1.springmvc入门

对比struct
	同:
			它们都是表现层框架,都是基于 MVC 模型编写的。
			它们的底层都离不开原始 ServletAPI。
			它们处理请求的机制都是一个核心控制器。
	异:
			Spring MVC 的入口是 Servlet, 而 Struts2 是 Filter 
			Spring MVC 是基于方法设计的,而 Struts2 是基于类,Struts2 每次执行都会创建一个动作类。所以 Spring MVC 会稍微比 Struts2 快些。
			Spring MVC 使用更加简洁,同时还支持 JSR303, 处理 ajax 的请求更方便

SpringMVC是基于 Servlet 的技术

基于java实现MVC设计模式的web框架
通过一套注解,让一个简单的 Java 类成为处理请求的控制器,而无须实现任何接口

在当今互联 的开发中, 随着手 兴起 Web 页面大部分
采用 ja 请求,它 之间的交互只需要 JSON 数据

对于 Spring MVC 其最大 特色是结构松散,比如
乎可 SpringMVC 中使用各类 ,包括 JSON JSP XML PDF ,所以它能够满足手机端、页面端各类请求

1.1架构

在这里插入图片描述

前端控制器(DispatcherServlet) Spring MVC 框架是围绕着 DispatcherServlet 工作
请求到处理器映射(HandlerMapping)
处理器适配器(HandlerAdapter)
视图解析器(ViewResolver)
处理器或页面控制器(Controller)
验证器( Validator)
命令对象(Command 请求参数绑定到的对象就叫命令对象)
表单对象(Form Object 提供给表单展示和提交到的对象就叫表单对象)。

springmvc组件和流程图
在这里插入图片描述

入门程序

1.maven依赖
<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.target>1.8</maven.compiler.target>
    <spring.version>5.0.2.RELEASE</spring.version>
</properties>

  <dependencies>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-context</artifactId>
      <version>${spring.version}</version>
    </dependency>

    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-web</artifactId>
      <version>${spring.version}</version>
    </dependency>

    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-webmvc</artifactId>
      <version>${spring.version}</version>
    </dependency>

    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>servlet-api</artifactId>
      <version>2.5</version>
      <scope>provided</scope>
    </dependency>

    <dependency>
      <groupId>javax.servlet.jsp</groupId>
      <artifactId>jsp-api</artifactId>
      <version>2.0</version>
      <scope>provided</scope>
    </dependency>

</dependencies>
2.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_4_0.xsd"
         version="4.0">

 <!--配置 Spring ioc 配置文件路径-->
  <!--1.配置文件路径设置 
  告诉 SpringMVC pring IoC 的配
文件在哪里,这样 Spring 就会找到这些配置文件去加载它们。如果是多个配置文件,
可以使用逗号将它们分隔开来,并且它还能支持正则式匹配,进行模糊匹配,这样
就更加灵活,其默认值为/WEB-INF applicationContext.xml
-->
  <!--<context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>classpath:applicationContext.xml</param-value>
  </context-param>-->

	<!--配置spring的监听器,默认加载WEB-INF目录下的applicationContext.xml配置文件
	可以在整个 Web 工程前后加入自定义代
码,所以可以在 Web 工程初始化之前,它先完成对 Spring IoC 容器的初始化,也可
以在 Web 工程关闭之时完成 Spring IoC 容器的资源进行释放。
-->
  <!--<listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  </listener>-->
  
  <!--配置前端控制器-->
  <servlet>
    <servlet-name>dispatcherServlet</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>

	<!-- 配置Servlet的初始化参数,读取springmvc的配置文件,创建spring容器 -->
	<init-param>
		<param-name>contextConfigLocation</param-name> 
		<!--资源路径下的springmvc.xml-->
		<param-value>classpath:springmvc.xml</param-value>
	</init-param> 
	<!-- 配置servlet启动时加载对象 启动服务器就创建该对象--> 
	<load-on-startup>1</load-on-startup>
  </servlet>
  <!--拦截全部路径-->
  <servlet-mapping>
    <servlet-name>dispatcherServlet</servlet-name>
    <url-pattern>/</url-pattern>
  </servlet-mapping>

</web-app>
3.springmvc.xml
<?xml version="1.0" encoding="UTF-8"?>
<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">

	<!--4.注解扫描,只扫描controller-->
	<context:component-scan base-package="cn.zust.controller"/>


	<!--配置视图解析器
	前缀和后缀,这样视图就知道去 Web 程的
/WEB_INF/Page 文件夹中找到对应的 JSP 文件作为视图响应用户请求。-->
	<bean id="internalResourceViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
		<property name="prefix" value="/WEB_INF/Page"/>
		<property name="suffix" value=".jsp"/>
	</bean>
<!--如果有配置数据库事务,需要开启 注解事务的,需要开启这段代码一〉
<!--
<tx:annotation- driven transaction-manager=”transactionManager” />
-->
	<!--springmvc注解支持-->
	<mvc:annotation-driven>
	</mvc:annotation-driven>
</beans>
4.Controller测试
package cn.zust.controller;

import com.sun.org.apache.regexp.internal.RE;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

/**
 * @author whai
 * @Date: 2020/4/16 17:15
 */
@Controller
@RequestMapping("/text")
public class ControllerDemo {

    @RequestMapping("/hello")
    public String helloword(){
        System.out.println("hello");
        return "hello";
    }
}
<%--
  Created by IntelliJ IDEA.
  User: whai
  Date: 2020/4/17
  Time: 14:02
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
<h1>hello world!</h1>
</body>
</html>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值