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. zabbix proxy安装及使用

    首先我萌先理解下为什么要突然冒出zabbix proxy 它是一个代理,也就是agent与server的中间层,他会代替server收集agent的数据保存起来,然后推送给server,那么很明显,它 ...

  2. bzoj3569

    线性基 非常高端 强制在线动态图 我们先搞出一个dfs树,然后所有非树边都和树边形成一个环.我们考虑什么情况会不连通,当且仅当树边和dfs序大于当前点的返祖边都被断掉才不连通,那么我们给每个非树边赋一 ...

  3. EasyUI 下载与引用

    1.官网下载地址: http://www.jeasyui.com/download/index.php 一般下载 “GPL Edition” (开源版本). 2.目录结构: demo:案例,可以删 l ...

  4. linear_classifier.py

    import numpy as np from cs231n.classifiers.linear_svm import * from cs231n.classifiers.softmax impor ...

  5. asp.net中FileUpload得到上传文件的完整路径

    asp.net中FileUpload得到上传文件的完整路径 Response.Write("完整路径:" + Server.MapPath(FileUpload1.PostedFi ...

  6. Python_中__init__和__new__的异同

    1:__new__:它是创建对象时调用,会返回当前对象的一个实例: __init__:它是创建对象后调用,对当前对象的一些实例初始化,无返回值 代码示例: >>> class Dat ...

  7. ECharts使用问题

    Echarts官网上给的例子,在最后有一个分号. 使用ajax请求,在eval()转化时出现错误,原因就是因为多了一个分号

  8. UVa 10214 Trees in a Wood. (数论-欧拉函数)

    题意:给定一个abs(x) <= a, abs(y) <= b,除了原点之外的整点各有一棵树,可以相互阻挡,求从原点可以看到多少棵树. 析:由于a < b,所以我们可以一列一列的统计 ...

  9. LeetCode: 485 Max Consecutive Ones(easy)

    题目: Given a binary array, find the maximum number of consecutive 1s in this array. Example 1: Input: ...

  10. liteos任务(二)

    任务 1 基本概念 从系统的角度看,任务是竞争系统资源的最小运行单元.任务可以使用或等待CPU.使用内存空间等系统资源,并独立于其它任务运行. Huawei LiteOS的任务模块可以给用户提供多个任 ...