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
- SPRINGMYBATIS01 Unit03: Spring Web MVC简介 、 基于XML配置的MVC应用 、 基于注解配置的MVC应用
- Spring Web MVC简介 、基于XML配置的MVC应用 、基于注解配置的MVC应用
- 基于xml配置的Spring MVC HelloWorld
- Spring MVC中,基于XML配置和基于注解的依赖注入实例
- 基于注解(annotation)的第一个Spring MVC 应用
- 基于注解的Spring MVC 框架搭建及配置详解
- SSM搭建-Spring mvc基于注解的配置(13)
- 基于spring注解的MVC
- 基于注解的Spring MVC
- 基于注解的spring mvc
- Spring 3.0.5 MVC 基于注解ehcache.xml 配置方式
- Spring 3.0.5 MVC 基于注解ehcache.xml 配置
- Spring 3.0.5 MVC 基于注解ehcache.xml 配置方式
- 基于Spring MVC的Web应用开发(5) - Redirect
- 基于Spring MVC的Web应用开发(1) - HelloWorld
- 基于Spring MVC的Web应用开发(2) - Log
- 基于Spring MVC的Web应用开发(3) - Resources
- 基于Spring MVC的Web应用开发(4) - FileUpload
- java项目登录时候出现session error
- Linux系统下安装rz/sz命令及使用说明
- 提交审核被拒的一些原因
- JVM 相关介绍
- white-space,word-wrap,word-break的区别
- SPRINGMYBATIS01 Unit03: Spring Web MVC简介 、 基于XML配置的MVC应用 、 基于注解配置的MVC应用
- 统计原理笔记 Notes for Statistics II
- https://fonts.googleapis.com/css 一直加载的处理
- 动手写一个神经网络代码(附Backpropagation Algorithm代码分解)
- __declspec(novtable)的作用
- Android 支持多种屏幕第二篇
- ps命令
- bzoj 1042: [HAOI2008]硬币购物(dp+容斥)
- Java关键字this用法的总结