《学习内容》:
//========学习内容=========
Jsp内置对象(1)
Jsp内置对象(2)
Jsp内置对象(3)
《知识点—笔记》
//=========================
request.setCharacterEncoding(“UTF-8”) 读取请求信息的时候按照UTF-8来读取
String value = request.getParameter(“key”) 通过参数名(key)—->获取值
Enumeration em = request.getParameterNames() 获取全部的参数名(全部的key)
String[] values = request.getParameterValues(“key”) 获取一个参数(key)的全部参数值(value) 一般用于处理复选框
RequestDispatcher rd = request.getRequestDispatcher(“转发地址”) 告知服务器要转发的地址
rd.forword(request,response) 真正的转发走了 同时把request和 response转发走了
request.setAttribute(“key”,Object value) 这个方法是用来处理在业务处理后产生的新数据 把他添加进去
request.getAttribute(“key”)可以通过之前添加的新数据在jsp中获取到他的value
《代码内容》:
主要思路—->实现浏览器的万国化语言
(代码One)
//在request.getParameter(“key”) 方法不知道参数名—>key的情况下遍历全部的(参数)key,并且通过key去找对应的参数值
JSP页面
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<body>
<form action="regist" method="post">
账号<input type="text" name="username" value=""><br>
密码<input type="password" name="password" value=""><br>
性别<input type="text" name="sex" value=""><br>
爱好<br>
<input type="checkbox" name="aihao" value="抽烟"><br>
<input type="checkbox" name="aihao" value="喝酒"><br>
<input type="checkbox" name="aihao" value="烫头"><br>
<input type="submit" value="提交信息">
</form>
</body>
</html>
Servlet处**理不知道参数名 获取全部的key 和value**
package controller;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.Enumeration;
public class RegistController extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{
//练习第一个方法
//如果在不知道key的情况下怎么获取全部的key
//1.设置字符集
request.setCharacterEncoding("UTF-8");
Enumeration<String> parameterNames = request.getParameterNames();
while (parameterNames.hasMoreElements()){
String key = parameterNames.nextElement();
String value = request.getParameter(key);
System.out.println(key+"===="+value);
}
}
}
输出结**果
Servlet处**理复选框的name属性全部重复的问题
**
package controller;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.Enumeration;
public class RegistController extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{
//练习第一个方法
//如果在不知道key的情况下怎么获取全部的key
//1.设置字符集
request.setCharacterEncoding("UTF-8");
// Enumeration<String> parameterNames = request.getParameterNames();
// while (parameterNames.hasMoreElements()){
// String key = parameterNames.nextElement();
// String value = request.getParameter(key);
// System.out.println(key+"===="+value);
// }
//处理复选框
String[] aihaos = request.getParameterValues("aihao");
for (String aihao : aihaos){
System.out.println(aihao);
}
}
}
输出结果
学习总结:
学懂的:
有问题的地方:
**