charset:字符集
在xml下鼠标右击,属性查看配置,
UTF-8(8位元,Universal Character Set/Unicode Transformation Format)是针对Unicode的一种可变长度字符编码。它可以用来表示Unicode标准中的任何字符,而且其编码中的第一个字节仍与ASCII相容,使得原来处理ASCII字符的软件无须或只进行少部份修改后,便可继续使用。因此,它逐渐成为电子邮件、网页及其他存储或传送文字的应用中,优先采用的编码。
UTF-8编码规则:如果只有一个字节则其最高二进制位为0;如果是多字节,其第一个字节从最高位开始,连续的二进制位值为1的个数决定了其编码的字节数,其余各字节均以10开头。
1,WEB下jsp下转换中文使用:charset=UTF-8
2,WEB下java类下配置格式
例:@WebServlet("/Hello1")
3,web下java类中中文乱码解决方法:
req.setCharacterEncoding(“UTF-8”);
4,通过参数获取获取请求信息的值(req.getParameter)Parameter:参数
@WebServlet("/Hello")
public class Hello extends HttpServlet{
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
req.setCharacterEncoding("UTF-8"); //设置字符集编码方式,为汉字扫除障碍
System.out.println("开始运行");
//根据参数获取请求信息的值
String arr = req.getParameter("username"); //括号中为jsp下账户name获取参数名
String brr = req.getParameter("userpwd"); //括号中为jsp下密码name获取参数名
System.out.println(arr);
System.out.println(brr);
}
}
运行结果:
开始运行
东方红
123
5,获得客户端传送给服务器的所有参数的名字,结果是一个枚举req.getParameterNames()
@WebServlet("/Hello")
public class Hello extends HttpServlet{
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//获得客户端传送给服务器的所有参数的名字,结果是一个枚举
Enumeration<String>parameterNames=req.getParameterNames();
while (parameterNames.hasMoreElements()) {
String abc=parameterNames.nextElement();
System.out.println(abc);
}
}
}
运行结果:
username
userpwd
6,根据参数名获取参数值得数组req.getParameterValues("")
@WebServlet("/Hello")
public class Hello extends HttpServlet{
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
String[]parameterValues =req.getParameterValues("hobby");
for(String i:parameterValues){
System.out.println(i);
}
}
}
运行结果:
iq
zq
插播知识点:for循环小括号内可以是数组变量如String h:abc
abc为数组或者是map或者是list变量名
while小括号内只能是布尔类型是或否
7,获取所有参数map集合,返回类型是Map
req.getParameterMap()
@WebServlet("/Hello")
public class Hello extends HttpServlet{
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
req.setCharacterEncoding("UTF-8");
Map<String, String[]>parameterMap=req.getParameterMap();
//set如何遍历呢
for(Map.Entry<String, String[]> entry:parameterMap.entrySet()) {
String key = entry.getKey();
String[] value = entry.getValue();
System.out.println("当前条目的键 " + key);
for (String a:value) {
System.out.println(a);
}
}
}
}
运行结果:
东方红
当前条目的键 userpwd
123
当前条目的键 hobby
iq