SPRINGMYBATIS01 Unit03: Spring Web MVC简介 、 基于XML配置的MVC应用 、 基于注解配置的MVC应用

来源:互联网 发布:java自学入门书籍推荐 编辑:程序博客网 时间:2024/04/29 14:10

(7)spring表达式

注:读取bean的属性

这里写图片描述

1. 使用注解来简化配置文件

(1)什么是组件扫描?

容器会扫描指定的包及其子包下面的所有的类,如果该类前面有特定的注解比如@Component),则容器会将其纳入容器进行管理(相当于在配置文件里面有一个bean元素)。

(2)如何进行组件扫描?

step1. 在类前面添加特定的注解,比如 @Component注:默认的id是首字母小写之后的类名。

这里写图片描述

这里写图片描述

step2. 在配置文件当中,配置组件扫描。

这里写图片描述

(3)依赖注入相关的注解

1)@Autowired @Qualifier注:该注解支持set方法和构造器注入。

这里写图片描述

这里写图片描述

2)@Resource注:该注解只支持set方法注入。

这里写图片描述

这里写图片描述

(4)注入基本类型的值和spring表达式的值

这里写图片描述

SpringMVC

(1)什么是SpringMVC?

用来简化基于MVC架构的web应用程序开发的框架。注:SpringMVC是spring中的一个模块。

(2)五大组件

1)有哪五大组件?DispatcherServlet 前端控制器HandlerMapping  映射处理器Controller  处理器ModelAndViewViewResolver  视图解析器2)它们之间的关系a.请求发送给DispatcherServlet来处理,DispatcherServlet会依据HandlerMapping的配置调用对应的Controller来处理。b.Controller将处理结果封装成ModelAndView,然后返回给DispatcherServlet。c.DispatcherServlet会依据ViewResolver的解析调用对应的视图对象(比如jsp)来生成相应的页面。注:视图部分可以使用jsp,也可以使用其它的视图技术,比如    freemarker,velocity等等。

这里写图片描述

(3)编程步骤

step1. 导包spring-webmvcstep2. 添加配置文件。step3. 配置DispatcherServlet。step4. 写Controller。step5. 写jsp。step6.在配置文件当中,添加HandlerMapping,    ViewResolver的配置。

这里写图片描述


代码演示:

这里写图片描述

/springmvc-day01/src/main/java/controller/HelloController.java

package controller;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.springframework.web.servlet.ModelAndView;import org.springframework.web.servlet.mvc.Controller;/** * 处理器 * */public class HelloController implements Controller {    public ModelAndView handleRequest(HttpServletRequest arg0, HttpServletResponse arg1) throws Exception {        System.out.println("handleRequest()");        /*         * ModelAndView有两个常用构造器: ModelAndView(String viewName)         * ModelAndView(String viewName, Map data) 注: viewName: 视图名 data: 处理结果         */        return new ModelAndView("hello");    }}

/springmvc-day01/src/main/resources/spring-mvc.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:jdbc="http://www.springframework.org/schema/jdbc" xmlns:jee="http://www.springframework.org/schema/jee"    xmlns:tx="http://www.springframework.org/schema/tx" xmlns:aop="http://www.springframework.org/schema/aop"    xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:util="http://www.springframework.org/schema/util"    xmlns:jpa="http://www.springframework.org/schema/data/jpa"    xsi:schemaLocation="        http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.2.xsd        http://www.springframework.org/schema/jdbc http://www.springframework.org/schema/jdbc/spring-jdbc-3.2.xsd        http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-3.2.xsd        http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.2.xsd        http://www.springframework.org/schema/data/jpa http://www.springframework.org/schema/data/jpa/spring-jpa-1.3.xsd        http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.2.xsd        http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd        http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.2.xsd">    <!-- 配置HandlerMapping -->    <bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">        <property name="mappings">            <props>                <prop key="/hello.do">helloController</prop>            </props>        </property>    </bean>    <!-- 配置Controller -->    <bean id="helloController" class="controller.HelloController" />    <!-- 配置视图解析器 -->    <bean        class="org.springframework.web.servlet.view.InternalResourceViewResolver">        <property name="prefix" value="/WEB-INF/" />        <property name="suffix" value=".jsp" />    </bean></beans>

/springmvc-day01/src/main/webapp/WEB-INF/hello.jsp

<h1>Hello Kitty</h1>

/springmvc-day01/src/main/webapp/WEB-INF/web.xml

<?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5"> <servlet>    <servlet-name>springmvc</servlet-name>    <servlet-class>             org.springframework.web.servlet.DispatcherServlet    </servlet-class>    <!--         DispatcherServlet的初始化方法会启动        spring容器,contextConfigLocation用        来指定spring配置文件的位置。     -->    <init-param>        <param-name>contextConfigLocation</param-name>        <param-value>classpath:spring-mvc.xml</param-value>    </init-param>    <load-on-startup>1</load-on-startup></servlet><servlet-mapping>    <servlet-name>springmvc</servlet-name>    <url-pattern>*.do</url-pattern></servlet-mapping></web-app>

/springmvc-day01/pom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">  <modelVersion>4.0.0</modelVersion>  <groupId>welkin</groupId>  <artifactId>springmvc-day01</artifactId>  <version>0.0.1-SNAPSHOT</version>  <packaging>war</packaging>  <dependencies>    <dependency>        <groupId>org.springframework</groupId>        <artifactId>spring-webmvc</artifactId>        <version>3.2.8.RELEASE</version>    </dependency>  </dependencies></project>
阅读全文
0 0