使用request对象实现注册示例,请求方式的编码问题
get提交方式: method="get”和地址栏请求方式默认都属于get提交方式
get方式在地址栏显示请求信息﹐(但是地址栏能够容纳的信息有限,4-5KB;如果请求数据存在大文件,b.文件上传操作,必须是post
推荐使用post
统一请求的编码request
get方式请求如果出现乱码,解决:a.统一每一个变量的编码(不推荐)
new String(旧编码,新编码);
Iname = new String(name.getBytes("iso-8859-1"), "utf-8" );
修改server.xml ,一次性的更改tomcat默认get提交方式的编码(utf-8)
建议使用tomcat时,首先在server.xml中统一get方式的编码.. URIEncoding="UTF-8"
<form action="show.jsp">
用户名:<input type="text" name="uname">
密码:<input type="password" name="upwd">
年龄:<input type="text" name="uage">
爱好:<br/>:
<input type="checkbox" name="uhobbies" value="足球"/>足球,
<input type="checkbox" name="uhobbies" value="蓝球"/>蓝球,
<input type="checkbox" name="uhobbies" value="乒乓球"/>乒乓球,
<input type="submit" value="注册">
</form>
<%
request.setCharacterEncoding("utf-8");
String name = request.getParameter("uname");
int age = Integer.parseInt(request.getParameter("uage"));
String pwd = request.getParameter("upwd"); String[] hobbies = request.getParameterValues("uhobbies");
%> 注册成功,信息如下:<br/>
姓名: <%=name %><br/>
年龄: <%=age %><br/>
密码: <%=pwd %><br/>
爱好: <br/>
<%
if (hobbies !=null){
for (String hobby : hobbies) {
out.print(hobby + " ");
}
}
%>


编码问题:
<form action="show.jsp">
用户名:<input type="text" name="uname">
密码:<input type="password" name="upwd">
年龄:<input type="text" name="uage">
爱好:<br/>:
<input type="checkbox" name="uhobbies" value="足球"/>足球,
<input type="checkbox" name="uhobbies" value="蓝球"/>蓝球,
<input type="checkbox" name="uhobbies" value="乒乓球"/>乒乓球,
<input type="submit" value="注册">
</form>
<%
request.setCharacterEncoding("utf-8");
String name = request.getParameter("uname");
new String(name.getBytes("iso-8859-1"),"utf-8");
name = new String(name.getBytes("gbk"),"utf-8");
int age = Integer.parseInt(request.getParameter("uage"));
String pwd = request.getParameter("upwd"); String[] hobbies = request.getParameterValues("uhobbies");
%> 注册成功,信息如下:<br/>
姓名: <%=name %><br/>
年龄: <%=age %><br/>
密码: <%=pwd %><br/>
爱好: <br/>
<%
if (hobbies !=null){
for (String hobby : hobbies) {
out.print(hobby + " ");
}
}
%>
使用request对象实现注册示例,请求方式的编码问题的更多相关文章
- request对象常用API 获取请求参数的值 request应用 MVC设计模式
1 request对象常用API 1)表示web浏览器向web服务端的请求 2)url表示访问web应用的完整路径:http://localhost:8080/day06/Demo1 ...
- 通过过滤器和增强request对象解决get提交请求服务器端乱码。
1.表单用get方式提交 <%@ page language="java" contentType="text/html; charset=UTF-8" ...
- 【Day4】5.Request对象之Http Post请求案例分析
import urllib.parse as up import urllib.request as ur import json word = input('请输入要翻译的中文') data = { ...
- Django框架三板斧本质-jsonResponse对象-form表单上传文件request对象方法-FBV与CBV区别
目录 一:视图层 2.三板斧(HttpResponse对象) 4.HttpResponse() 5.render() 6.redirect() 7.也可以是一个完整的URL 二:三板斧本质 1.Dja ...
- HttpResponse,render,redirect,静态文件配置,request对象方法,pycharm连接MySQL,django连接MySQL,django ORM
HttpResponse 主要用于返回字符串类型的数据 def index(request): return HttpResponse('index页面') 在页面中就会显示 index页面 rend ...
- 03-【request对象获取请求的数据 & request对象存取值】
request概述(封装了客户端所有的请求数据) request是Servlet.service()方法的一个参数,类型为javax.servlet.http.HttpServletRequest.在 ...
- Django静态文件配置(from表单-request对象方法-get请求与post请求-视图函数书写)
目录 一:静态文件配置 1.静态文件配置 2.什么是静态文件? 3.静态文件的创建 4.解决使用django后端代码修改前端不显示(缓存问题) 5.settings.py 静态文件配置 6.静态文接口 ...
- request 对象和 response 对象
Web服务器收到客户端的http请求,会针对每一次请求,分别创建一个用于代表请求的request对象.和代表响应的response对象 HttpServletResponse HttpServletR ...
- 3 View - Request对象
1.HttpReqeust对象 服务器接收到http协议的请求后,会根据报文创建HttpRequest对象 视图函数的第一个参数是HttpRequest对象 在django.http模块中定义了Htt ...
- IOS 网络请求方式
iOS开发中的网络请求 今天来说说关于iOS开发过程中的网络请求. 关于网络请求的重要性我想不用多说了吧.对于移动客户端来说,网络的重要性不言而喻.常见的网络请求有同步GET, 同步POST, 异 ...
随机推荐
- 跨时钟域之异步FIFO
参考:https://www.cnblogs.com/aslmer/p/6114216.html 文章:Simulation and Synthesis Techniques for Asynchro ...
- Retrofit简要分析
Retrofit是对网络请求实现了一套请求架构封装,屏蔽底层网络实现,使网络请求像调用本地接口一样 基本使用例子 public interface GitHubService {//定义request ...
- HTML+CSS+JS制作一个灰白色简约时钟
HTML+CSS+JS制作一个灰白色简约时钟 1. 效果图: 2. 特点:这次借鉴了网络上的代码,利用JS动态创建元素,减少html语句的数量,也便于与vue.react等语言进行结合. 3. 代码实 ...
- SpringCloud-Hoxton.SR1-config整合
1.前一篇讲到了整合eureka和gateway,实现了服务的发现与注册以及网关的统一入口,这一篇在此基础上整合分布式配置中心config,首先新建一个子项目config-services作为服务端, ...
- 用简单的代码,将小程序文件直传到腾讯云COS实践
简介 本文介绍如何不依赖 SDK,用简单的代码,在小程序直传文件到腾讯云COS的存储桶. 注意: 本文档内容基于 XML 版本的 API. 前期条件 登录 对象存储控制台 ,创建存储桶,设置 Buck ...
- 在Ubuntu19.04系统中安装Emacs遇到的问题
安装显示部分依赖软件包现在无法安装 发现emacs26无法安装 后来查阅资料,发现在Ubuntu18版本及以上就不需要更新了 即不需要以下操作: sudo apt update 同时安装也需要将ema ...
- Fastreport 如果值相同合并单元格
在fastreport 中设置text的属性即可 效果如下
- cheerio中文文档
这篇参考手册是对cheerio 官方文档的中文翻译 cheerio是jquery核心功能的一个快速灵活而又简洁的实现,主要是为了用在服务器端需要对DOM进行操作的地方 简介 让你在服务器端和htm ...
- Lua中对自定义二维表进行添加、修改、计算、删除、判断是否存在操作
引言: 最近刚稍微深入了解一下Lua,正好最近需要用到Lua中对表的操作,于是借助现有的了解实现了对一个简单的二维表进行添加.修改.计算.删除及判断存在的操作 表的创建及相关方法: 1. 创建表及自定 ...
- 51定时器:0xee的由来
定时时间=(65536-初值)×(12/晶振频率) 因为51实验板的晶振为11.0592,所以 定时时间=(65536-初值)×(12/11.0592) 定时1ms:1000=(65536-初值)×( ...