Student(html+JavaBean+BeanUtil)+解决中文乱码问题
2014-12-02 15:27
357 查看
-----------------------------------------------------------RequestDemo3.java
总结:这里并没有设置,从客户端传进来的流的编码格式,所以java程序中会自动判定成ISO-8859-1,没有中文字符的
编码分析
输入编码问题:
服务器->浏览器的编码格式由服务器决定
浏览器->服务器的编码格式由浏览器决定,
所以这里设置UTF-8是从html而来的
总归一句话,浏览器的东东起源于服务器,所以当服务器接受浏览器的东西时,如果是本服务器发的网页,请设置 好本网页的编码,本服务器的java程序才能用中文。。。。。接受。!!!!
request.setCharacterEncoding("UTF-8")
request里面也就一个set方法!!!!
笔记:request.setCharacterEncoding(写的是从html来的编码格式)
public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {test1(request);}}
----------------------------------------------------------Student.html
总结:radio checkboxs 即使表单中有对应名称输入域,如果一个不选择,则什么数据都不会给服务器。(注意空指针异常)
如果选择了其中一个(radio) 或多个(checkboxs)则把他们的value的取值提交给服务器。
如果选择了一个(radio)或多个(checkboxs),他们又没有value取值,则提交给服务器的值是on。
请求参数的编码:
浏览器当前使用什么编码,就以什么编码提交请求参数一致。<meta http-equiv="content-type" content="text/html" ;charset="UTF-8">
这里用post方式,所以才能用中文哦
用get是不能用中文的->[b] request.setCharacterEncoding("UTF-8")的限制。。。。[/b]
[b]所以开发中到目前为止还是建议用post[/b]
---------------------------------------------------------Student.java(domain)
记住红孔的文件很重要,一般都会忘记加进去的。所以要记得
没有Collections的出错
总结:这里并没有设置,从客户端传进来的流的编码格式,所以java程序中会自动判定成ISO-8859-1,没有中文字符的
编码分析
输入编码问题:
服务器->浏览器的编码格式由服务器决定
浏览器->服务器的编码格式由浏览器决定,
所以这里设置UTF-8是从html而来的
总归一句话,浏览器的东东起源于服务器,所以当服务器接受浏览器的东西时,如果是本服务器发的网页,请设置 好本网页的编码,本服务器的java程序才能用中文。。。。。接受。!!!!
request.setCharacterEncoding("UTF-8")
request里面也就一个set方法!!!!
笔记:request.setCharacterEncoding(写的是从html来的编码格式)
package cn.ITHong.Request; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.commons.beanutils.BeanUtils; import cn.ITHong.domain.Student; public class RequestDemo3 extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { } <pre name="code" class="java"><span style="white-space:pre"> </span>public void test1(HttpServletRequest request) { Student s = new Student(); try { request.setCharacterEncoding("UTF-8"); } catch (Exception e1) { e1.printStackTrace(); } System.out.println("封装前:"+s); try { BeanUtils.populate(s, request.getParameterMap()); } catch (Exception e) { e.printStackTrace(); } System.out.println("封装后:"+s); }
public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {test1(request);}}
----------------------------------------------------------Student.html
总结:radio checkboxs 即使表单中有对应名称输入域,如果一个不选择,则什么数据都不会给服务器。(注意空指针异常)
如果选择了其中一个(radio) 或多个(checkboxs)则把他们的value的取值提交给服务器。
如果选择了一个(radio)或多个(checkboxs),他们又没有value取值,则提交给服务器的值是on。
请求参数的编码:
浏览器当前使用什么编码,就以什么编码提交请求参数一致。<meta http-equiv="content-type" content="text/html" ;charset="UTF-8">
这里用post方式,所以才能用中文哦
用get是不能用中文的->[b] request.setCharacterEncoding("UTF-8")的限制。。。。[/b]
[b]所以开发中到目前为止还是建议用post[/b]
<!DOCTYPE html> <html> <head> <title>学生信息注册</title> <meta name="keywords" content="keyword1,keyword2,keyword3"> <meta name="description" content="this is my page"> <meta name="content-type" content="text/html; charset=UTF-8"> <!--<link rel="stylesheet" type="text/css" href="./styles.css">--> </head> <body> <form action="/Web07/servlet/RequestDemo3" method="post"> 姓名:<input type="text" name="name"/><br /> 密码:<input type="password" name="password"/><br /> 性别:<input type="radio" name="gender" value="1"/>男 <input type="radio" name="gender" value="0"/>女<br /> 已婚:<input type="checkbox" name="married" /><br /> 爱好:<input type="checkbox" name="hobby" value="fb"/>足球 <input type="checkbox" name="hobby" value="bb"/>篮球 <input type="checkbox" name="hobby" value="tb"/>乒乓球<br /> 故乡:<select name="city"> <option value="BJ">北京 </option> <option value="SD">山东</option> <option value="ST">汕头</option> </select><br /> 简介:<textarea name="description" rows="3" cols="38"></textarea><br /> <input type="hidden" name="id" value="438"/><br /> <!-- 记住图片要用"../"的格式,不然没有".."能在Myeclipse显示,但是网页不能显示 --> <input type="image" src="../picture/1.jpg" > </form> </body> </html>
---------------------------------------------------------Student.java(domain)
package cn.ITHong.domain; import java.util.Arrays; public class Student { private String name; private String password; private String gender; private boolean married; private String[] hobby; private String city; private String description; private int id; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public String getGender() { return gender; } public void setGender(String gender) { this.gender = gender; } public boolean isMarried() { return married; } public void setMarried(boolean married) { this.married = married; } public String[] getHobby() { return hobby; } public void setHobby(String[] hobby) { this.hobby = hobby; } public String getCity() { return city; } public void setCity(String city) { this.city = city; } public String getDescription() { return description; } public void setDescription(String description) { this.description = description; } public int getId() { return id; } public void setId(int id) { this.id = id; } @Override public String toString() { return "Student [name=" + name + ", password=" + password + ", gender=" + gender + ", married=" + married + ", hobby=" + Arrays.toString(hobby) + ", city=" + city + ", description=" + description + ", id=" + id + "]"; } }
记住红孔的文件很重要,一般都会忘记加进去的。所以要记得
没有Collections的出错
相关文章推荐
- Java使用Velocity模板发送HTML格式邮件并解决中文乱码问题
- Java/JSP中文乱码问题解决心得
- Java/JSP中文乱码问题解决心得
- Java读取properties文件中文乱码问题的解决
- Ubuntu/Debian下JAVA 中文/图片中文字体乱码显示问题解决方法
- Java/JSP中文乱码问题解决心得
- 初接触JAVA国际化问题-解决JAVA中文字符乱码
- Java发送mail功能,解决中文乱码问题
- java 中乱码或者中文问题的解决
- java 中文乱码问题的解决——原则和检查步骤
- java web中配置Filter解决jsp中文乱码问题
- 解决java中文乱码问题
- Java中文乱码问题解决心得
- Java/JSP中文乱码问题解决心得
- Java/JSP中文乱码问题解决心得
- JAVA中应用AJAX的中文乱码问题的解决
- 解决Linux下Java控制台中文乱码问题
- [转]Java/JSP中文乱码问题解决心得
- Java/JSP中文乱码问题解决心得
- 红旗4.1系统解决JAVA中文乱码问题