1.从JSP页面里传数据到SpringMVC中的Controller处理

a.直接读取表单的数据。在控制器里的方法里,按照这种格式写。

@RequestMapping(value="/login.action")

public void login(HttpServletRequestreq,HttpServletResponse resp){

req.setCharacterEncoding("utf-8");//设置参数的编码格式

String userName =req.getParameter("txtUserName");

String userPwd =req.getParameter("txtUserPwd");

System.out.println("用户名:"+userName);

System.out.println("密码:"+userPwd);

}

需要解决post提交数据的时候,乱码的问题:在web.xml里做配置:

<!-- 解决post提交乱码的问题 -->

<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>

解决Get提交数据的时候的乱码问题:

方法一:修改tomcat配置文件添加编码与工程编码一致,如下:

<ConnectorURIEncoding="utf-8" connectionTimeout="20000"port="8080" protocol="HTTP/1.1"redirectPort="8443"/>

方法二:    对参数进行重新编码:

String userNamenew

String(request.getParamter("userName").getBytes("ISO8859-1"),"utf-8")

SpringMVC的参数映射问题:(JSP页面或者说url路径的参数同控制器里的方法的参数的对应)

1)第一种映射方式:

表单里的表单元素的name名字和控制器里的方法的形参名一致。

比如界面中的数据:

<inputtype="text" value="" name="typeName"/>

在控制器里方法的定义:

@RequestMapping(value="/addtype.action")

public void addType(String typeName){

System.out.println("传递过来的数据:"+typeName);

}

2)采取普通的Java对象(POJO)传值的方式。

jsp页面里的表单元素的name名字为java对象的字段名。

比如:用户的注册页面:

<tr>

<td>用户名:</td>

<td><inputtype="text" name="userName"/></td>

</tr>

<tr>

<td>密码:</td>

<td><inputtype="password" name="userPwd"/></td>

</tr>

<tr>

<td>确认密码:</td>

<td><inputtype="password" name="txtUserRpPwd"/></td>

</tr>

<tr>

<td>电子邮箱:</td>

<td><inputtype="text" name="userEmail"/></td>

</tr>

<tr>

<td>注册原因:</td>

<td><inputtype="text" name="regReason"/></td>

</tr>

<tr>

<td>居住地:</td>

<td><inputtype="text" name="userAddress"/></td>

</tr>

在控制器里的方法的定义:

@RequestMapping(value="/reg.action")

public void reg(UserInfo u){

System.out.println("用户名:"+u.getUserName());

}

3)通过url参数传递。将url的参数和形参进行一个匹配:

自动映射URL对应的参数到Action上面的数值,RequestParam 默认为必填参数。

public String GetContent(@RequestParam(“key”) String key){

}

扩展:

@RequestParam(value="number",required=false) String number 
@RequestParam("id") Long id 
@RequestParam("balance") double balance 
@RequestParam double amount

注意,最后一个例子没有提供清晰的参数名。当且仅当代码带调试符号编译时,结果会提取名为“amount ”的参数,否则,将抛出IllegalStateException异常,因为当前的信息不足以从请求中提取参数。由于这个原因,在编码时最好显式的指定参数名

在controller中定义的方法的参数的类别:

默认支持的参数类型

Ø   HttpServletRequest

Ø   HttpservletResponse

Ø   HttpSession

Ø   Model/ModelMap

比如:@RequestMapping(value="/reg.action")

public void reg(UserInfo u){

System.out.println("用户名:"+u.getUserName());

SpringMVC(SSM)获取网页数据和传出数据的几种方式相关推荐

  1. webbrowser 检测ajax,控制台获取网页AJAX的返回数据,用的WebBroWser

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 至于HttpRequest大家都知道,他不能获取网页的Ajax异步数据,代码如下: using System; using System.Collecti ...

  2. ajax上传多文件和数据,Ajax上传数据和上传文件(三种方式)

    Ajax向后端发送数据可以有三种方式:原生Ajax方式,jQuery Ajax方式,iframe+form 方式(伪造Ajax方式) Title .btn { background-color: co ...

  3. mysql数据存储方式_数据存储在mysql的两种方式

    数据存储在mysql的两种方式 发布时间:2020-05-12 16:16:25 来源:亿速云 阅读:250 作者:三月 下文主要给大家带来数据存储在mysql的两种方式,希望这些内容能够带给大家实际 ...

  4. Docker的常用管理命令Docker将数据挂载到容器的三种方式

    文章目录 镜像管理命令 容器管理常用命令 docker run常用参数 Docker run的其他参数 docker 创建容器命令 容器资源限制 docker管理容器常用命令 docker将数据挂载到 ...

  5. 大数据正在改变客户服务的五种方式

    大数据正在改变客户服务的五种方式 任何组织的命脉,无论是否面向服务,都是需要为客户提供良好的服务.组织如何与其客户进行互动,会影响他们如何看待组织,这会影响潜在客户,除了组织最忠实的客户之外. 客户服 ...

  6. 将数据渲染到页面的几种方式

    将数据渲染到页面的几种方式: 1.字符串拼接: 2.dom回流 3.文档碎片(文档碎片节点:documentFragment) 4.模板         (下章会详细介绍模板) 转载于:https:/ ...

  7. 安卓androidstudio访问本地接口_安卓开发之数据存储在本地的四种方式

    ​ 安卓开发之数据存储在本地的四种方式 本地数据存储,在安卓开发过程中是不可避免的一个话题.这些本地的数据可能是用户的设置,程序的设置,用户的数据图片, 也可能是网络传输的一些缓冲数据. 基本上我们有 ...

  8. asp.net中读取数据库中的数据可以使用DataReader和DataSet 2种方式(初学者望大家不要笑我)...

    在asp.net中,读取数据库中的数据可以使用DataReader和DataSet 2种方式, 两者的差异如下:     使用Dataset对象读取数据大致需要以下5个步骤:     (1)建立数据库 ...

  9. 备份数据迁移到云端的七种方式

    人们可能对云备份的方式有一个普遍的认识,即很少有人希望保留昂贵和过时的遗留系统.下面,让我们来看看云端数据备份可以为组织做些什么. 1.确保合规性 如果组织在全球拥有自己的数据中心或云计算设施,就必须 ...

  10. python 保存csv,Python数据存储到文件的3种方式

    原标题:Python数据存储到文件的3种方式 爬虫请求解析后的数据,需要保存下来,才能进行下一步的处理,一般保存数据的方式有如下几种: 文件:txt.csv.excel.json等,保存数据量小. 关 ...

最新文章

  1. 超级账本(Hyperledger Fabric)源码分析之一:总览
  2. 企业微服务中台落地实践和思想之我见
  3. Messaging CorrelationID
  4. 腾讯首个AI开源项目完成3.0版本迭代,从顶级开源基金会毕业
  5. Android 网络请求详解
  6. IOS贝塞尔曲线圆形进度条和加载动画
  7. 生产环境子域降级记录
  8. 地址已经被使用——Address already in use(来自《后台开发:核心技术于应用实践》)
  9. BZOJ 1026 windy数 (数位DP)
  10. Linux 实操 —— Linux 系统性能分析
  11. 树莓派vnc用法 linux,怎样使用VNC在树莓派上运行远程桌面
  12. C++::My Effective C++ (二)
  13. cad解除块的快捷命令_cad退出块编辑_cad常用快捷键命令表_cad打印快捷键
  14. cab和ocx什么区别_CAB的完整形式是什么?
  15. python实战(一)Python爬取猫眼评分排行前100电影及简单数据分析可视化python实战(一)Python爬取猫眼排行前一百电影及简单数据分析可视化
  16. 如何将html模板资源转为vuecli项目
  17. java pdf添加透明水印,PDF怎么加透明水印?
  18. 【网络工程师配置篇】华为RIP路由基础配置续篇——重分发
  19. SCU - 4437 Carries
  20. 在html中制作多彩照片墙,照片墙不是乱贴的,教你1分钟打造高逼格照片墙!

热门文章

  1. MATLAB修改工作环境
  2. egg.js连接mysql数据库遇到的问题
  3. Android界面性能调优手册
  4. 服务 托管型呼叫中心的核心竞争力
  5. react-router的基础知识
  6. paper 89:视频图像去模糊常用处理方法
  7. JNDI数据库连接池的配置
  8. mac下的抓包工具Charles
  9. Nginx开启gzip压缩解决react打包文件过大
  10. 数据结构算法的引言+时间复杂度