文档章节

【2】springmvc 入门

dkz
 dkz
发布于 2014/04/05 16:22
字数 586
阅读 695
收藏 9

springmvc都是通过其中央控制器DispatcherServlet来进行转发的,所以在web.xml文件里面需要增加相应的配置

<servlet>
		<servlet-name>springServlet</servlet-name>
		<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
		<init-param>
			<param-name>contextConfigLocation</param-name>
			<param-value>/WEB-INF/spring-mvc.xml</param-value>
		</init-param>
		<load-on-startup>1</load-on-startup>
	</servlet>
	<servlet-mapping>
		<servlet-name>springServlet</servlet-name>
		<url-pattern>/</url-pattern>
	</servlet-mapping>

如果没有配置contextConfigLocation,Spring mvc默认配置文件为“/WEB-INF/[servlet名字]-servlet.xml“即“/WEB-INF/springServlet-servlet.xml“

一、简单的controller配置

springServlet-servlet.xml配置文件如下

<!-- HandlerMapping -->
	<bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"/>
	 
	<!-- HandlerAdapter -->
	<bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter"/>
	
	<!-- ViewResolver -->
	<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
	    <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>
	    <property name="prefix" value="/WEB-INF/view/"/>
	    <property name="suffix" value=".jsp"/>
	</bean>
	<bean name="/hello" class="dk.web.controller.HelloWorldController"></bean></beans>

HelloWorldController

public class HelloWorldController implements Controller {
	public ModelAndView handleRequest(HttpServletRequest req, HttpServletResponse resp) throws Exception {
	       //1、收集参数、验证参数
	       //2、绑定参数到命令对象
	       //3、将命令对象传入业务对象进行业务处理
	       //4、选择下一个页面
	       ModelAndView mv = new ModelAndView();
	       //添加模型数据 可以是任意的POJO对象
	       mv.addObject("message", "Hello World,spring mvc");
	       //设置逻辑视图名,视图解析器会根据该名字解析到具体的视图页面
	       mv.setViewName("hello");
	       return mv;
	    } 
}

/WEB-INF/view/hello.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
    <head>
         <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
         <title>Hello World</title>
    </head>
    <body>
        ${message}
    </body>
</html>

在web容器里面部署及运行你的工程,在浏览器里面访问 ip:port/hello 即可在页面看到 Hello World,spring mvc

二、基于注解anotation的controller配置

Spring2.5 引入注解式处理器支持,通过@Controller 和@RequestMapping注解定义我们的处理器类。并且提供了一组强大的注解:需要通过处理器映射DefaultAnnotationHandlerMapping和处理器适配器AnnotationMethodHandlerAdapter来开启支持@Controller 和 @RequestMapping 注解的处理器。
@Controller:用于标识是处理器类;
@RequestMapping:请求到处理器功能方法的映射规则。

<beans>
<!-- HandlerMapping -->
	<bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping"/>
	 
	<!-- HandlerAdapter -->
	<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"/>
	
	<!-- ViewResolver -->
	<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
	    <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>
	    <property name="prefix" value="/WEB-INF/view/"/>
	    <property name="suffix" value=".jsp"/>
	</bean>
</beans>

PS:spring3.2版本后 DefaultAnnotationHandlerMapping由RequestMappingHandlerMapping取代;AnnotationMethodHandlerAdapter由RequestMappingHandlerAdapter取代

HelloWorldController


@Controller
public class HelloWorldController {
	@RequestMapping(value="/helloAnotation",method=RequestMethod.GET)
	public ModelAndView handleRequest(HttpServletRequest req, HttpServletResponse resp){
	       ModelAndView mv = new ModelAndView();
	       mv.addObject("message", "Hello World,spring anotation");
	       mv.setViewName("hello");
	       return mv;
	    } 
}

在web容器里面部署及运行你的工程,在浏览器里面访问 ip:port/helloAnotation即可在页面看到 Hello World,spring anotation



© 著作权归作者所有

共有 人打赏支持
dkz

dkz

粉丝 42
博文 40
码字总数 26789
作品 0
架构师
私信 提问
☆聊聊Spring系列_Index

Spring经典详解 Spring事务机制详解 Spring配置事务五种方式 关于Spring加载classpath与classpath*的过程剖析 深入分析Spring 与 Spring MVC容器 Spring系列文章 【第1章 Spring概述与结构】...

陶邦仁
2015/12/09
0
0
spring cloud 入门系列:总结

从我第一次接触Spring Cloud到现在已经有3个多月了,当时是在博客园里面注册了账号,并且看到很多文章都在谈论微服务,因此我就去了解了下,最终决定开始学习Spring Cloud。我在一款阅读App...

JAVA开发老菜鸟
2018/07/20
0
0
Spring Security 从入门到进阶系列教程

Spring Security 入门系列 《保护 Web 应用的安全》 《Spring-Security-入门(一):登录与退出》 《Spring-Security-入门(二):基于数据库验证》 《Spring-Security-入门(三):密码加密...

小致dad
2018/08/03
0
0
Spring Boot实战与原理分析

Spring Boot实战与原理分析 1:Spring Boot概述与课程概要介绍 2:Spring4 快速入门 3:Spring4 扩展分析(一) 4:Spring4 扩展分析(二) 5:Spring Boot 快速入门 6:Spring Boot 配置分析...

刘宗泽
2018/06/26
0
0
Apache Camel框架集成Spring

Apache Camel提供了和Spring的集成,通过Spring容器(ApplicationContext)来管理Camel的CamelContext,这样的话,就不需要写代码来控制CamelContext的初始化,启动和停止了.Camel会随着Spring的启...

晨曦之光
2012/04/25
1K
0

没有更多内容

加载失败,请刷新页面

加载更多

java框架学习日志-13(Mybatis基本概念和简单的例子)

在mybatis初次学习Mybatis的时候,遇到了很多问题,虽然阿里云的视频有教学,但是视频教学所使用的软件和我自己使用的软件不用,我自己用的数据库是oracle数据库,开发环境是idea。而且视频中...

白话
今天
3
0
Java基础:String、StringBuffer和StringBuilder的区别

1 String String:字符串常量,字符串长度不可变。Java中String是immutable(不可变)的。 String类的包含如下定义: /** The value is used for character storage. */private final cha...

watermelon11
今天
2
0
mogodb服务

部署MongoDB 官网: https://www.mongodb.com/download-center/community 创建mongo数据目录 mkdir /data/mongodb 二进制部署 wget -c https://fastdl.mongodb.org/linux/mongodb-linux-x8......

以谁为师
昨天
5
0
大神教你Debian GNU/Linux 9.7 “Stretch” Live和安装镜像开放下载

Debian项目团队于昨天发布了Debian GNU/Linux 9 "Stretch" 的第7个维护版本更新,重点修复了APT软件管理器中存在的安全漏洞。在敦促每位用户尽快升级系统的同时,Debian团队还发布了Debian ...

linux-tao
昨天
4
0
PHP 相关配置

1. php-fpm的pool 编辑php-fpm配置文件php-fpm.con vim /usr/local/php/etc/php-fpm.conf //在[global]部分增加以下内容 include = etc/php-fpm.d/*.conf # 相当与Nginx的虚拟主机文件 “vho......

Yue_Chen
昨天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部