1.目录结构

  

2.代码

 <?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<servlet>
<servlet-name>springmvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:spring-mvc.xml</param-value>
</init-param>
<load-on-startup></load-on-startup>
</servlet> <servlet-mapping>
<servlet-name>springmvc</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
</web-app>

web.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"> <!-- 开启注解扫描 -->
<context:component-scan base-package="com.java"/> <!-- 开启mvc注解扫描 -->
<mvc:annotation-driven/> <!-- 定义视图解析器 -->
<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/"/>
<property name="suffix" value=".jsp"/>
</bean> </beans>

spring-mvc.xml

 package com.java.entity;

 public class User {
private Integer userId;
private String userName;
private String password; public Integer getUserId() {
return userId;
}
public void setUserId(Integer userId) {
this.userId = userId;
}
public String getuserName() {
return userName;
}
public void setuserName(String userName) {
this.userName = userName;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
} }

User

 package com.java.controller;

 import java.util.HashMap;
import java.util.Map; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession; import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.view.RedirectView; import com.java.entity.User; @Controller
@RequestMapping("/demo")
public class HelloController { /**
* 接收参数方式一:采用HttpServletRequest
* @param request
* @return
*/
@RequestMapping("/test1.do")
public String test1(HttpServletRequest request){
String userName = request.getParameter("userName");
String password = request.getParameter("password"); System.out.println("userName:"+userName);
System.out.println("password:"+password); return "jsp/success";
} /**
* 接收参数方式二:采用@RequestParam注解方式
* @param userName
* @param password
* @return
*/
@RequestMapping("/test2.do")
public String test2(
@RequestParam String userName,
@RequestParam String password){
System.out.println("userName:"+userName);
System.out.println("password:"+password);
return "jsp/success";
} /**
* 接收参数方式三:采用实体方式
* 前提是: 被提交表单中name 和 实体中的属性完全一致
* @param user
* @return
*/
@RequestMapping("/test3.do")
public String test3(User user){
System.out.println("userName:"+user.getuserName());
System.out.println("password:"+user.getPassword());
return "jsp/success";
} ////////////////////////////////////////////////////////////
/*以下是对【传出参数 的研究】*/ /**
* 传出参数方式一:使用ModelAndView传出参数
*/
@RequestMapping("test4.do")
public ModelAndView test4(){
Map<String, Object> data = new HashMap<String, Object> ();
data.put("success", true);
data.put("message", "操作成功");
return new ModelAndView("jsp/success",data);
} /**
* 传出参数方式二:使用ModelMap传出参数
* @param map
* @return
*/
@RequestMapping("test5.do")
public ModelAndView test5(ModelMap map){
map.addAttribute("success", false);
map.addAttribute("message", "操作失败");
return new ModelAndView("jsp/success");
} /**
* 使用ModelAttribute传出实体属性值
* ModelAttribute 会利用 HttpServletRequest 的 Attribute传递到JSP页面中。
* @return
*/
@ModelAttribute("age")
public int getAge(){
return 25;
} /**
* 传出参数方式三:使用ModelAttribute传出参数
* 需要注意的是:@ModelAttribute括号里面的名字应该与表单name保持一致
* @param userName
* @param password
* @return
*/
@RequestMapping("/test6.do")
public ModelAndView test6(
@ModelAttribute("userName") String userName,
@ModelAttribute("password") String password){ return new ModelAndView("jsp/success");
} ////////////////////////////////////////////////////////////
/*以下是对【session 和 重定向 的研究】*/ /**
* session的使用
* 可以利用session传递参数
*/
@RequestMapping("test7.do")
public ModelAndView test7(HttpServletRequest request){ String userName = request.getParameter("userName");
String password = request.getParameter("password"); HttpSession session = request.getSession(); session.setAttribute("sal", 8000);
session.setAttribute("userName", userName);
session.setAttribute("password", password); return new ModelAndView("jsp/success");
} /**
* 测试String
* @param user
* @param modelmap
* @return
*/
@RequestMapping("test8.do")
public String test8(User user, ModelMap modelmap){
modelmap.addAttribute("user", user);
return "jsp/success";
} /**
* 返回错误页面
* @return
*/
@RequestMapping("test9.do")
public String test9(){
return "jsp/error";
} /**
* 重定向方式一:利用RedirectView重定向
* @param user
* @return
*/
@RequestMapping("test10.do")
public ModelAndView test10(User user){
if(user.getuserName().equals("java")){
return new ModelAndView("jsp/success");
}
return new ModelAndView(new RedirectView("test9.do"));
} /**
* 重定向方式二:利用redirect:前缀重定向
* 结果和方式一完全一样
* @param user
* @return
*/
@RequestMapping("test11.do")
public String test11(User user){
if("java".equals(user.getuserName())){
return "jsp/success";
}
return "redirect:test9.do";
}
}

HelloController【重要】

 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>"> <title>My JSP 'index.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head> <body>
<h2>测试</h2>
<!--
<a href="demo/test1.do">点击我试试</a>
-->
<hr> <form action="demo/test11.do" method="post">
<label id="userName">用户名:</label><input type="text" name="userName"/><br/>
<label id="password">密&nbsp;&nbsp;码:</label><input type="password" name="password"/><br/>
<input type="submit" value="登录"/>
</form>
</body>
</html>

index.jsp

 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>"> <title>My JSP 'MyJsp.jsp' starting page</title> <meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
--> </head> <body>
<h2>是否成功:${success}</h2>
<h2>提示消息:${message}</h2> <hr/> <h2>年龄:${age}</h2> <h2>用户名:${userName}</h2>
<h2>密码:${user.password}</h2> <h2>薪资:${sal}</h2> <h2>对象:${user.userName}</h2>
</body>
</html>

success.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=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
不好,页面被外星人劫持!
</body>
</html>

error.jsp

3.完整项目打包下载

  点我下载

Spring MVC系列[2]——参数传递及重定向的更多相关文章

  1. spring mvc controller间跳转 重定向 传参(转)

    spring mvc controller间跳转 重定向 传参 url:http://zghbwjl.blog.163.com/blog/static/12033667220137795252845/ ...

  2. Spring MVC(十一)--使用字符串实现重定向

    Spring MVC中有两种重定向方式: 通过返回字符串,字符串必须以redirect:开头: 通过返回ModelAndView: 重定向的时候如果需要给重定向目标方法传参数,要分字符串参数和pojo ...

  3. 【Spring MVC系列】--(4)返回JSON

    [Spring MVC系列]--(4)返回JSON 摘要:本文主要介绍如何在控制器中将数据生成JSON格式并返回 1.导入包 (1)spring mvc 3.0不需要任何其他配置,添加一个jackso ...

  4. Spring mvc系列一之 Spring mvc简单配置

    Spring mvc系列一之 Spring mvc简单配置-引用 Spring MVC做为SpringFrameWork的后续产品,Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块 ...

  5. spring mvc controller间跳转 重定向 传参 (转)

    转自:http://zghbwjl.blog.163.com/blog/static/12033667220137795252845/ 1. 需求背景     需求:spring MVC框架contr ...

  6. Spring Mvc Controller间跳转 重定向 传参 (转)

    原文链接:http://zghbwjl.blog.163.com/blog/static/12033667220137795252845/ 1. 需求背景     需求:spring MVC框架con ...

  7. spring mvc controller间跳转 重定向

    1. 需求背景     需求:spring MVC框架controller间跳转,需重定向.有几种情况:不带参数跳转,带参数拼接url形式跳转,带参数不拼接参数跳转,页面也能显示. 本来以为挺简单的一 ...

  8. Spring MVC—模型数据,转发重定向,静态资源处理方式

    Spring MVC处理模型数据 添加模型数据的方法 ModelAndView Map及Model SessionAttribute ModelAttribute Spring MVC转发和重定向 S ...

  9. 我看Spring MVC系列(一)

    1.Spring MVC是什么: Spring MVC:Spring框架提供了构建Web应用程序的全功能MVC模块. 2.Spring helloWorld应用(基于Spring 4.2) 1.添加S ...

随机推荐

  1. Dynamic Gcd

    树链剖分+差分 直接区间加显然是不行的,由于gcd(a,b,c)=gcd(a,a-b,b-c),那么我们对这些数差分,然后就变成单点修改.原本以为这道题很简单,没想到这么麻烦,就膜了发代码. 首先我们 ...

  2. HDOJ-2058

    The sum problem Time Limit: 5000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)T ...

  3. 【网络爬虫】【java】微博爬虫(一):小试牛刀——网易微博爬虫(自定义关键字爬取微博数据)(附软件源码)

    一.写在前面 (本专栏分为"java版微博爬虫"和"python版网络爬虫"两个项目,系列里所有文章将基于这两个项目讲解,项目完整源码已经整理到我的Github ...

  4. Identity Server 4 原理和实战(完结)_----选看 OAuth 2.0 简介(下)

    https://www.yuque.com/yuejiangliu/dotnet/asu0b9 端点 Endpoint Authorization Endpoint,授权端点 在浏览器里面和用户交互 ...

  5. dead code 死代码 无作用的代码

               DatasetVector datasetvector=(DatasetVector)dataset;           if (datasetvector == null) ...

  6. POJ1699【AC自动机+状压DP_感言】

    萌新感言: 我的天呐! 因为是AC自动机的专题所以没有管别的...硬着头皮吃那份题解(代码)..[请戳简单美丽可爱的代码(没开玩笑)] 首先讲AC自动机: tag存的是以这个节点为后缀的字符串个数(已 ...

  7. CodeForces599C【贪心】

    题意: 给你一个序列,要求你从小到大排序,你可以划分成一个块一个块地进行块内排序,问你最多能分成几个块 思路: 贪心,首先感觉就是有正序的话我就分开啊: 难道倒序不能分块?321肯定不行啊. 存不存在 ...

  8. lightoj 1027【数学概率】

    #include <bits/stdc++.h> using namespace std; typedef long long LL; const int N=1e2+10; int ma ...

  9. caller和callee的解析与使用-型参与实参的访问

    caller:是一个函数引用(当前执行函数”被调用的地方”{即这个”被调用的地方”函数引用},如果这个”被调用的地方”是window,则返回[null]),是函数名的属性: var a = funct ...

  10. Mol Cell Proteomics. |阳梦如|富马酸二甲酯在神经元和星形胶质细胞中新蛋白质靶点的鉴定及相关功能验证

    大家好,本周分享的是发表在Molecular & Cellular Proteomics.上的一篇关于富马酸二甲酯在脑细胞蛋白质中新作用靶点的鉴定及功能性验证的文章,题目是Identifica ...