《学习内容》:

    //========学习内容=========
    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页面

    1. <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    2. <html>
    3. <body>
    4. <form action="regist" method="post">
    5. 账号<input type="text" name="username" value=""><br>
    6. 密码<input type="password" name="password" value=""><br>
    7. 性别<input type="text" name="sex" value=""><br>
    8. 爱好<br>
    9. <input type="checkbox" name="aihao" value="抽烟"><br>
    10. <input type="checkbox" name="aihao" value="喝酒"><br>
    11. <input type="checkbox" name="aihao" value="烫头"><br>
    12. <input type="submit" value="提交信息">
    13. </form>
    14. </body>
    15. </html>

    Servlet处**理不知道参数名 获取全部的key 和value**

    1. package controller;
    2. import javax.servlet.ServletException;
    3. import javax.servlet.http.HttpServlet;
    4. import javax.servlet.http.HttpServletRequest;
    5. import javax.servlet.http.HttpServletResponse;
    6. import java.io.IOException;
    7. import java.util.Enumeration;
    8. public class RegistController extends HttpServlet {
    9. protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{
    10. //练习第一个方法
    11. //如果在不知道key的情况下怎么获取全部的key
    12. //1.设置字符集
    13. request.setCharacterEncoding("UTF-8");
    14. Enumeration<String> parameterNames = request.getParameterNames();
    15. while (parameterNames.hasMoreElements()){
    16. String key = parameterNames.nextElement();
    17. String value = request.getParameter(key);
    18. System.out.println(key+"===="+value);
    19. }
    20. }
    21. }

    输出结**
    image.png
    Servlet处**理复选框的name属性全部重复的问题
    **

    1. package controller;
    2. import javax.servlet.ServletException;
    3. import javax.servlet.http.HttpServlet;
    4. import javax.servlet.http.HttpServletRequest;
    5. import javax.servlet.http.HttpServletResponse;
    6. import java.io.IOException;
    7. import java.util.Enumeration;
    8. public class RegistController extends HttpServlet {
    9. protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{
    10. //练习第一个方法
    11. //如果在不知道key的情况下怎么获取全部的key
    12. //1.设置字符集
    13. request.setCharacterEncoding("UTF-8");
    14. // Enumeration<String> parameterNames = request.getParameterNames();
    15. // while (parameterNames.hasMoreElements()){
    16. // String key = parameterNames.nextElement();
    17. // String value = request.getParameter(key);
    18. // System.out.println(key+"===="+value);
    19. // }
    20. //处理复选框
    21. String[] aihaos = request.getParameterValues("aihao");
    22. for (String aihao : aihaos){
    23. System.out.println(aihao);
    24. }
    25. }
    26. }

    输出结果
    image.png

    学习总结:
    学懂的:

    有问题的地方:
    **