JSP--(二)从入门到放弃
来源:互联网 发布:全国地图软件下载 编辑:程序博客网 时间:2024/05/20 08:25
表达提交的中文出现乱码的问题
用post 提交表单信息时,出现中文乱码问题
具体实例:这是一个初始界面,里面的form 表单提交两个信息:
<%@ page language="java" import="java.util.*" 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=UTF-8"><title>Hello</title></head><body><center><form action="getParanmeter.jsp" method="post"><table><tr><td>姓名</td><td><input type="text" name="name" value="" /></td></tr><tr><td>城市</td><td><input type="text" name="city" value="" /></td></tr><tr><td><input type="submit" value="提交" /></td><td><input type="reset" value="重置" /></td> </table></form></center></body></html>
实际效果:
表单信息提交到对应的 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=UTF-8"><title>Insert title here</title></head><body><center><%String name = request.getParameter("name");String city = request.getParameter("city");if(name != null && city != null){%><p>Welcome <%=name %> , 您所在的城市是 <%=city %> </p><%}else{%><p>Welcome to my City !</p><%} %></center></body></html>
但是此时提交的信息如果是中文,显示的时候会变成乱码例如:
变成上图的样子。
解决中文显示乱码的问题有三种方法:
1.在接受请求的页面中规定请求字符的编码代码,例如本例中只需要在 getParanmeter.jsp 中加上一句 request.setCharacterEncoding("utf-8");
2.在取得参数值后进行转码处理,通过转码将参数值转化为合适的字符集,例如本中可以将:
String name = request.getParameter("name");String city = request.getParameter("city");改为:
String name = new String (request.getParameter("name").getBytes(ISO-8859-1"),"utf-8);String city = new String (request.getParameter("city").getBytes(ISO-8859-1"),"utf-8);;
3.通过编写一个Servlet 过滤器来解决中文乱码问题。
修改后:
1 2 方法虽然也可以解决乱码问题,但是增加了代码量而且可移植性低,方法 3 移植性强,并且可以通过配置过滤器解决所有的请求处理字符集的问题。
0 0
- JSP--(二)从入门到放弃
- JavaScript从入门到放弃(二)
- Python 从入门到放弃(二)
- Docker 从入门到放弃(二)之Spring Boot
- React-Native从入门到放弃(二)
- 微信小程序从入门到放弃(二)
- Handler机制从入门到放弃(二)
- Swift3.0从入门到放弃(二)
- Docker 从入门到放弃(一)
- 策略模式(从放弃到入门)
- 观察者模式(从放弃到入门)
- Kotlin从入门到“放弃”(一)
- DOCKER 从入门到放弃(三)
- JavaScript从入门到放弃(一)
- JavaScript从入门到放弃(三)
- JavaScript从入门到放弃(四)
- JavaScript从入门到放弃(五)
- JavaScript从入门到放弃(六)
- Android之EditText限制6个中文12个英文
- leetcode154Find Minimum in Rotated Sorted Array II
- 过河问题的代码实现
- 页面乱码
- bootstrap fileinput 组件整合SpringMVC上传图片到本地磁盘
- JSP--(二)从入门到放弃
- java中基础的类及对象简介
- 报错:1130-host ... is not allowed to connect to this MySql server
- 一天搞定CSS: overflow--14
- java-异常
- 栈练习代码
- 知识重要,还是解决问题重要
- This version of Android Studio is incompatible with the Gradle Plugin used. Try disabling Instant R
- 插入排序