1.JSP中的不同<%%>形式的标签
    <%@ %>做说明,通常放在头部
    <%! %>写Java代码,在_jspService方法外部
    <% %>写Java代码,在_jspService方法内部
    <%= %>写Java代码,在_jspService方法内部,通常用于赋值、展示
    2.JSP内置对象—-9个
    对象所属类型、变量的名字、常用方法都需要了解
    内置对象放置在JSP生成的.java代码中的_jspService方法的内部

    HTTPServletRequest request
    HTTPServletResponse response
    HTTPServletSession session
    ServletContext application
    JSPWriter out
    Object page
    PageContext pageContext
    ServletConfig config
    Exception exception

    1.HTTPServletRequest

    方法 返回值 作用
    request.getParameter(“key”) String 用来获取请求携带的参数信息
    request.setCharacterEncoding(“UTF-8”) 用来设置接受请求参数时的字符集
    request.setAttribute(“key”,Object) 用来存储一个值,在另一个地方获取这个值
    request.getAttribute(“key”) Object 用来获取setAttribute()方法存入的值
    request.getRequestDispatcher(“path”) RequestDispatcher 用来设置转发的资源位置
    requestDispatcher.forward() 真正的转发
    request.getParameterValues(“key”) String[] 获取key一致的一组value值,通常用于接收复选框信息
    request.getRequestURL(); StringBuffer Uniform Resource Locator统一资源定位器,例如:
    http://localhost:8080/JSPBuiltInObject/index.jsp
    request.getRequestURI(); String Uniform Resource Identifier统一资源标识符,例如:
    /JSPBuiltInObject/index.jsp

    如果不知道请求携带的参数名(key)

    1. Enumeration en= request.getParameterNames();
    2. while (en.hasMoreElements()){
    3. String key=(String) en.nextElement();
    4. String value=request.getParameter(key);
    5. }

    image.png

    利用Request实现国际化
    知识储备:
    Java项目—-不需要Tomcat这种WEB服务器(容器)支持的;而JavaWeb项目—-需要Tomcat支持;执行的最终项目是经过部署编译后的那些程序(Tomcat—->webapps,当前工程的out—->artifacts)**

    index.jsp

    1. <%@ page import="java.io.InputStream" %>
    2. <%@ page import="java.io.InputStreamReader" %>
    3. <%@ page import="java.util.Properties" %>
    4. <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    5. <html>
    6. <head>
    7. </head>
    8. <body>
    9. <%
    10. String acceptLanguage=request.getHeader("Accept-Language");
    11. //注意看格式
    12. System.out.println(acceptLanguage);
    13. String[] languages=acceptLanguage.split(",");
    14. //解析浏览器现在默认支持的第一个语言
    15. String language=languages[0].split(";")[0];
    16. String fileName="font("+language+").properties";
    17. InputStream inputStream=Thread.currentThread().getContextClassLoader().getResourceAsStream(fileName);
    18. InputStreamReader reader=new InputStreamReader(inputStream);
    19. //读取当前工程内的一个properties文件
    20. Properties properties=new Properties();
    21. properties.load(reader);
    22. String account=properties.getProperty("account");
    23. String password=properties.getProperty("password");
    24. String login=properties.getProperty("login");
    25. %>
    26. <%-- 登录界面--%>
    27. <form>
    28. <%=account%>:<input type="text" name="username" value=""><br>
    29. <%=password%>:<input type="password" name="password" value=""><br>
    30. <input type="submit" value=<%=login%>>
    31. </form>
    32. </body>
    33. </html>

    image.png
    image.png

    1.
    image.png
    结果
    image.png
    image.png

    2.
    image.png**

    结果
    image.png
    image.png

    知识补充:
    浏览器会出现很多 HTTP状态码

    状态码 错误 可能的产生原因
    404 没有找到资源 html jsp 名字写错啦;Servlet 名字写错啦;忘记配置 web.xml 注解@WebServlet(“请求名”)
    405 没有找到可执行的方法 service
    doPost doGet
    500 服务器产生异常 JSP Servlet 执行代码产生问题
    200 正常的响应状态

    **