这篇文章解决的问题是怎么在业务方法里面引入我们熟悉的HttpServletRequest和HttpServletRespon?

答案:这种引入传统的web参数的做法不推荐去做,因为这么做会实行高度耦合。

但还是说一下这种做法:

在Action修改代码如下:

package com.guigu.shen.Action7;

import java.io.IOException;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
/**
*
*
请求路径可以拆分为:根模块的名字+分模块的名字
就是相当于当访问http://127.0.0.1:8080:项目名/user/register时就会进入到
registerMethod方法。 */
@Controller
@RequestMapping(value="/user")//根模块的请求名字
public class UserAction {
/*
* 员工注册
*
*/
@RequestMapping(method=RequestMethod.POST,value="/register")//分模块的请求名字 public String registerMethod(HttpServletRequest httpServletRequest,HttpServletResponse httpServletResponse)
{/* 通过HttpServletRequest和HttpServletRespon得到数据。
*/ String username=httpServletRequest.getParameter("username");
String salery=httpServletRequest.getParameter("salary");
//保存到Session会话级别
httpServletRequest.getSession().setAttribute("username", username);
httpServletRequest.getSession().setAttribute("salary", salery);
//重定向
try {
httpServletResponse.sendRedirect(httpServletRequest.getContextPath()+"/jsp/success.jsp"); System.out.println("l路径是"+httpServletRequest.getContextPath());
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null; } }

success.jsp代码如下:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
<%
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>
Success. <br>
<%-- 输出上一个页面输入的值 --%>
${username}
${salary} </body>
</html>

结果如下:

Success.

aaa
1000

14SpringMvc_在业务控制方法中写入HttpServletRequest,HttpServletResponse等传统web参数(这个知识点知道就好了,不推荐这么去做)的更多相关文章

  1. 15SpringMvc_在业务控制方法中写入模型变量收集参数,且使用@InitBind来解决字符串转日期类型

    之前第12篇文章中提到过在业务控制方法中写入普通变量收集参数的方式,也提到了这种凡方式的弊端(参数很多怎么办),所以这篇文章讲的是在业务控制方法中写入模型变量来收集参数.本文的案例实现的功能是,在注册 ...

  2. 在业务控制方法中写入Request,Response等传统web参数

    可以在业务控制方法中书写传统web参数,这种方式我们不提倡,耦合了 @Controller @RequestMapping(value="/user") public class ...

  3. 在业务控制方法中写入包装User的模型来收集参数

    可以在业务控制方法中书写0个或多个模型来收集客户端的参数 1)  如果多个模型中有相同的属性时,可以用user.name或admin.name来收集客户端参数 2)  用一个新的模型将User和Adm ...

  4. 在业务控制方法中写入User,Admin多个模型收集参数

    1)  可以在业务控制方法中书写1个模型来收集客户端的参数 2)  模型中的属性名必须和客户端参数名一一对应 3)  这里说的模型不是Model对象,Model是向视图中封装的数据 @Controll ...

  5. 17SpringMvc_在业务控制方法中写入包装User的模型来收集参数——解决问题

    在解决问题之前,我要说明一下jsp页面上填入信息,一个用户的信息比如用户的名字,用户的电话,用户的手机等等,在这个jsp页面上填好信息后,转到有个action处理这个信息.原理是什么? 在jsp页面上 ...

  6. 16SpringMvc_在业务控制方法中写入User,Admin多个模型收集参数——引出问题

    上面文章时普通的业务那个方法中收集一个实体类,这篇文章想收集两个实体类. 文本要做的是:在person.jsp页面上,有两个表单.分别是普通用户和管理员用户的表单(普通用户的表单和管理员用户的表单里面 ...

  7. 在业务控制方法中写入模型变量收集参数,且使用@InitBind来解决字符串转日期类型

    1)  在默认情况下,springmvc不能将String类型转成java.util.Date类型,所有我们只能在Action 中自定义类型转换器 <form action="${pa ...

  8. 12SpringMvc_在业务控制方法中写入普通变量收集参数

    这篇文章讲的是jsp页面不是会传一些参数到Action中,那么Action怎么去接受这个数据呢? 方案: 案例结构如下:

  9. 19SpringMvc_在业务控制方法中收集List集合中包含JavaBean参数

    本文要实现的功能是给一张表单:

随机推荐

  1. 解决SharePoint 2013 designer workflow 在发布的报错“负载平衡没有设置”The workflow files were saved but cannot be run.

    原因是app management service没有设置好,在管理中心把他删掉,重新建一个就可以了 Provision App Management Service In SharePoint 20 ...

  2. Mac 以太网连接 报无效的服务器地址 BasicIPv6ValidationError

    Mac 以太网连接 报无效的服务器地址 BasicIPv6ValidationError 用Mac这么久,一直是用WiFi连接网络,没搞过以太网连接,我也是醉了 显然 Mac 不能像 Windows ...

  3. 【读书笔记】iOS-Xcode-模拟器操作的一些快捷键

    Cmd+1/2/3       可以切换模拟器的显示比例. Option+Shift     可以在模拟器中调出双指拖动效果. Option      可以在模拟器中调出双指放大缩小效果. Comma ...

  4. Windows下HG服务器的搭建

    1.环境和所需工具安装 1. 安装python-2.7.9.exe 2. 安装mercurial-3.2.3.win32-py2.7.exe 3. 安装mercurial-3.2.3-x86.msi ...

  5. node.js之看懂package.json依赖库版本控制

    金天:学习一个新东西,就要持有拥抱的心态,如果固守在自己先前的概念体系,就会有举步维艰的感觉.node.js依赖库的版本控制 一般node.js项目会依赖大量第三方module, 那么如何控制modu ...

  6. SAP SD业务的简图

  7. Report List Controls

    Report风格的ListCtrl的扩展,原文链接地址:http://www.codeproject.com/Articles/5560/Another-Report-List-Control 1.列 ...

  8. PHP中IP地址与整型数字互相转换详解

    这篇文章主要介绍了PHP中IP地址与整型数字互相转换详解,本文介绍了使用PHP函数ip2long与long2ip的使用,以及它们的BUG介绍,最后给出自己写的两个算法,需要的朋友可以参考下 IP转换成 ...

  9. 烂泥:KVM虚拟机windows系统增加硬盘

    本文由秀依林枫提供友情赞助,首发于烂泥行天下. 前一篇文章介绍了有关linux系统添加硬盘的方法,这次我们来介绍有关windows系统添加的相关步骤. 其实linux和windows添加的硬盘的方法都 ...

  10. Linux下集群的搭建

    1.集群的简介: 集群(cluster)技术是一种较新的技术,通过集群技术,可以在付出较低成本的情况下获得在性能.可靠性.灵活性方面的相对较高的收益,其任务调度则是集群系统中的核心技术. 如果一个事情 ...