springMVC参数传递(二)

第一步:web.xml文件是一个工程必不可少的配置文件。javascript

<!-- lang: 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">
<display-name>springmvc-chapter2</display-name>
<welcome-file-list>
	<welcome-file>index.html</welcome-file>
	<welcome-file>index.htm</welcome-file>
	<welcome-file>index.jsp</welcome-file>
	<welcome-file>default.html</welcome-file>
	<welcome-file>default.htm</welcome-file>
	<welcome-file>default.jsp</welcome-file>
</welcome-file-list>

<!-- 配置Servlet的分发以及对springMVC文件的初始路径的引用 -->
<servlet>
	<servlet-name>chapter1</servlet-name>
	<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
		<init-param>
		    <param-name>contextConfigLocation</param-name>
		    <param-value>classpath*:config/chapter1-servlet.xml</param-value>
		</init-param>
	
	<!-- 标识启动容器时初始化该Servlet -->
	<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
	<servlet-name>chapter1</servlet-name>
	<url-pattern>/</url-pattern>
</servlet-mapping>

<!-- 配置系统的编码集合 -->
<filter>
	<filter-name>CharacterEncodingFilter</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>
<filter-mapping>
	<filter-name>CharacterEncodingFilter</filter-name>
	<url-pattern>/*</url-pattern>
</filter-mapping>

</web-app>html

第二步:springMVC的配置文件,chapter1-servlet.xmljava

<!-- lang: 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:p="http://www.springframework.org/schema/p"
xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="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 
        			http://www.springframework.org/schema/mvc
        			http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd">
	
	<!-- 开启注解,由于每次启动都会调用下面两个类,因此springMVC将其集成到一个配置里面,配置了
	这个,下面两个启用注解的类就能够不配置了 -->
	<mvc:annotation-driven />
	
	<!-- 此配置的做用是用来扫描全部须要注解的类,只有被扫描的类才能使用注解 -->
	<context:component-scan base-package="cn.javass.chapter2.web.controller"/>
	
	<!-- 启用注解,这两个类是使用注解时必须所配置的类,第一个做用是经过url找到类,第二个做用是经过类找到方法-->
  	<!-- 	<bean
		class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping"></bean>
			 <bean
		class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"></bean> -->
	
	<bean id="viewResolver"
		class="org.springframework.web.servlet.view.InternalResourceViewResolver">
		<property name="prefix" value="/WEB-INF/jsp/"></property>
		<property name="suffix" value=".jsp"></property>
	</bean>

</beans>web

第三步:定义一个表单提交的jsp页面,hello.jsp和一个处理后的跳转jsp页面,mutil.jspspring

<!-- lang: html -->
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!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>
<script type="text/javascript">
function add(){
	//获取表单
	var form = document.getElementById("addForm");
	//设置请求方式为post,若是是get的话就要对发送过去的参数先进行编码而后再解码,此处不做演示,不然会乱码
	form.method="post";
	//指定访问路径
	form.action = "add";
	//提交表单
	form.submit();
}
</script>

<body>
<form id="addForm">
	姓名:<input type="text" name="userName"/>
	年龄:<input type="text" name="age"/><br/>
	<input type="button" value="提交" onclick="add()"/>
</form>

</body>
</html>

mutil.jspspring-mvc

<!-- lang: html -->
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!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>
姓名:${userName }<br/>
年龄:${age }
</body>
</html>

第四步:创建一个Controller,MutilController.javatomcat

<!-- lang: java -->
package cn.javass.chapter2.web.controller;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.mvc.multiaction.MultiActionController;

@Controller
@RequestMapping("/test")
public class MutilController extends MultiActionController {

/**
 * form表单提交后进入此方法进行处理
 * @param request
 * @param response
 * @param userName form表单中提交的元素userName
 * @param age form表单中提交的元素age
 * @return  mutil.jsp页面
 */
@RequestMapping("/add")
public String add(HttpServletRequest request,HttpServletResponse response){
	//经过request会话获取jsp页面参数
	String userName = request.getParameter("userName");
	String age = request.getParameter("age");
	System.out.println("姓名:======"+userName);
	System.out.println("年龄:======"+age);
	
	request.setAttribute("userName", userName);
	request.setAttribute("age", age);
	return "/mutil";
}

/**
 * 首先页面请求进入hello.jsp页面
 * @param request
 * @param response
 * @return
 */
@RequestMapping("/hello")
public String test(HttpServletRequest request,HttpServletResponse response){
	return "/hello";
    }
}

启动tomcat,访问http://localhost:8080/springmvc-chapter2/test/hello,表单提交页面hello.jsp 在此输入图片描述mvc

点击提交,跳转到mutil.jsp页面,控制台打印信息和jsp页面以下图 在此输入图片描述 在此输入图片描述app

至此,springMVC经过HttpServletRequest进行参数传递就完成了!jsp

相关文章
相关标签/搜索