Spring MVC 练习001

本文讲述SpringMVC开发环境快速搭建以及值传递的几种方式,

只包含操作,不包含讲解。

 

1.New-Dynamic Web Project-springmvc


2.WEB-INF路径下添加依赖包:

   1)commons-logging-1.1.1.jar

   2)org.springframework.asm-3.1.1.RELEASE.jar

   3)org.springframework.beans-3.1.1.RELEASE.jar

   4)org.springframework.context-3.1.1.RELEASE.jar

   5)org.springframework.core-3.1.1.RELEASE.jar

   6)org.springframework.expression-3.1.1.RELEASE.jar

   7)org.springframework.web-3.1.1.RELEASE.jar

   8)org.springframework.web.servlet-3.1.1.RELEASE.jar


3.修改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" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
	id="WebApp_ID" version="2.5">
	<servlet>
		<servlet-name>DispatcherServlet</servlet-name>
		<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
		<!--如果不配置 init-param,会默认到 WEB-INF 路径下 DispatcherServlet-servlet.xml 文件 -->
		<init-param>
			<param-name>contextConfigLocation</param-name>
			<param-value>/WEB-INF/DispatcherServlet-servlet.xml</param-value>
		</init-param>
		<load-on-startup>1</load-on-startup>
	</servlet>
	<servlet-mapping>
		<servlet-name>DispatcherServlet</servlet-name>
		<url-pattern>/</url-pattern>
	</servlet-mapping>

	<!-- <filter> <filter-name>characterEncoding</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> 
		<init-param> <param-name>encoding</param-name> <param-value>UTF-8</param-value> 
		</init-param> </filter> -->
</web-app>

 

4.WEB-INF下添加配置文件 DispatcherServlet-servlet.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:mvc="http://www.springframework.org/schema/mvc"
	xsi:schemaLocation="http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.1.xsd
		http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
		http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd">

	<mvc:annotation-driven />

	<!-- 搜索的控制类路径(C) -->
	<context:component-scan base-package="com.wuyechun.springmvc.controller"></context:component-scan>

	<!-- 配置视图路径(V),说明逻辑视图转换成物理视图的前缀和后缀. -->
	<bean
		class="org.springframework.web.servlet.view.InternalResourceViewResolver">
		<property name="prefix" value="/WEB-INF/jsp/"></property>
		<property name="suffix" value=".jsp"></property>
	</bean>
</beans>

 

5. 在src下新建 com.wuyechun.springmvc.controller 包,并在包中新建类为HelloController.java

package com.wuyechun.springmvc.controller;

import java.util.Map;

import javax.servlet.http.HttpServletRequest;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;

/***
 * @author wuyechun
 * 演示了springmvc中传递参数的方法
 *
 */

@Controller
@RequestMapping("/welcome")  
public class HelloController {
	
	
	/***
	 * http://localhost:8080/springmvc/
	 * http://localhost:8080/springmvc/welcome/
	 * http://localhost:8080/springmvc/welcome/?name=wuyechun
	 * 这些请求方式都是可以的 
	 * 
	 * respMap 为返回值。
	 */
	@RequestMapping(value = { "/", "/hello" })
	public String sayHello(String name,Map<String,Object> respMap){
		String helloStr="Hello,"+name;
		respMap.put("helloStr",helloStr);
		return "welcome";
	}
	
	/**
	 * http://localhost:8080/springmvc/welcome/sayok  这种请求时不允许的
	 * http://localhost:8080/springmvc/welcome/sayok?name=wuyechun 
	 *  添加了 @RequestParam,必须要加上参数。
	 */
	@RequestMapping(value = "/sayok")
	public String sayOk(@RequestParam String name, Model resModel) {
	
		String helloStr="Hello,"+name;
		resModel.addAttribute("helloStr", helloStr);
		// 使用Object的类型作为key,String-->string,即jsp中通过 ${string} 获取。
		resModel.addAttribute(",Are you ok?");
		return "welcome";
	}

	/*
	 * http://localhost:8080/springmvc/welcome/req?user=wuyechun
	 * 获取HttpServletRequest,从中获取传递的参数。
	 */
	@RequestMapping("/req")
	public String req(HttpServletRequest req,Model resModel) {
		String name=req.getParameter("user");
		String helloStr="Hello,"+name;
		resModel.addAttribute("helloStr", helloStr);
		return "welcome";
	}
	

}

 6. 在Tomcat下运行

    浏览器地址栏分别输入:

 http://localhost:8080/springmvc/
 http://localhost:8080/springmvc/welcome/
 http://localhost:8080/springmvc/welcome/?name=wuyechun

 http://localhost:8080/springmvc/welcome/sayok
 http://localhost:8080/springmvc/welcome/sayok?name=wuyechun 

http://localhost:8080/springmvc/welcome/req?user=wuyechun

        观察了解spring mvc中值的传递方法。

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值