zoukankan      html  css  js  c++  java
  • 69期-Java SE-044_JSP-1

    ### JSP
    
    JSP:Java Server Page,在 Java Web 开发中负责视图层的展示,HTML 中无法直接嵌入 Java 代码,JSP 就是为了解决这一问题,JSP 就是将 HTML 代码与 Java 代码进行整合的一个中间层组件。
    
    JSP 本质上就是一个 Servlet,当客户端第一次访问一个 JSP 资源时,服务器接收到一个后缀为 jsp 的 URL 请求,将这个请求交给 JSP 引擎处理,每一个 JSP 资源第一次被访问时,JSP 引擎会将它翻译成一个 Servlet,并且进行编译,生成 class 文件,Web 容器就可以像调用 Servlet 一样来访问 JSP。
    
    JSP 就是在 HTML 中嵌入 Java 代码,如何嵌入?
    
    1、JSP 脚本
    
    ```jsp
    <%Java代码%>
    ```
    
    2、JSP 声明
    
    ```jsp
    <%!
    声明一个全局方法
    %>
    ```
    
    3、JSP 表达式
    
    ```jsp
    <%=Java变量%>
    ```
    
    
    
    ### JSP内置对象
    
    request、response、pageContext、session、application、config、out、page、exception
    
    1、request:HttpServletRequest 类的实例化对象,接收客户端请求。
    
    2、response:HttpServletResponse 类的实例化对象,为客户端作出响应。
    
    3、pageContext:PageContext 类的实例化对象,页面上下文,获取页面信息。
    
    4、session:HttpSession 类的实例化对象,表示浏览器和服务器之间的一次会话,保持一个用户信息。
    
    5、application:ServletContext 类的实例化对象,表示当前 Web 应用,全局对象,保存所有用户的共享数据。
    
    6、config:当前 JSP 对应的 Servlet 的 ServletConfig 对象,表示当前 Servlet。
    
    7、out:JspWriter 类的实例化对象,向客户端输出信息。
    
    8、page:指当前 JSP 对应的 Servlet 对象。
    
    9、exception:表示 JSP 页面发送的异常。
    
    
    
    实际开发中常用的内置对象:pageContext、request、response、session、application
    
    request 的常用方法:
    
    1、String getParameter(String name) //获取客户端传来的参数
    
    2、void setAttribute(String key,Object value) //通过键值对的形式来保存数据
    
    3、Object getAttribute(String key) //通过键取出数据
    
    4、String[] getParameters(String name) //获取客户端传来的多个参数
    
    5、void setCharacterEncoding(String charset) //指定每个请求的编码
    
    6、RequestDispatcher getRequestDispatcher(String path) //返回一个 RequestDispatcher 对象,该对象的 forward 方法用于转发请求。
    
    
    
    ```jsp
    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <html>
      <head>
        <title>$Title$</title>
      </head>
      <body>
        <%
          String name = "Hello World";
          request.setAttribute("name",name);
          request.getRequestDispatcher("test.jsp").forward(request,response);
        %>
      </body>
    </html>
    ```
    
    
    
    ```jsp
    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <html>
    <head>
        <title>Title</title>
    </head>
    <body>
        <%
            String name = (String)request.getAttribute("name");
        %>
        <h1>test</h1>
        <h2><%=name%></h2>
    </body>
    </html>
    ```

    index.jsp

    <%--
      Created by IntelliJ IDEA.
      User: southwind
      Date: 2019-07-06
      Time: 20:12
      To change this template use File | Settings | File Templates.
    --%>
    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <html>
      <head>
        <title>$Title$</title>
      </head>
      <body>
        <%
          String name = "Hello World";
          request.setAttribute("name",name);
          request.getRequestDispatcher("test.jsp").forward(request,response);
        %>
      </body>
    </html>

    test.jsp

    <%--
      Created by IntelliJ IDEA.
      User: southwind
      Date: 2019-07-06
      Time: 21:51
      To change this template use File | Settings | File Templates.
    --%>
    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <html>
    <head>
        <title>Title</title>
    </head>
    <body>
        <%
            String name = (String)request.getAttribute("name");
        %>
        <h1>test</h1>
        <h2><%=name%></h2>
    </body>
    </html>

    web.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
             version="4.0">
    </web-app>
  • 相关阅读:
    java 实现往oracle存储过程中传递array数组类型的参数
    Mybatis调用PostgreSQL存储过程实现数组入参传递
    数组做为参数传入Oracle存储过程操作数据库
    jdbcTemplate 调用存储过程。 入参 array 返回 cursor
    eclipse安装反编译插件
    eclipse安装JAVA反编译插件
    java怎样将一组对象传入Oracle存储过程
    Spring如何使用JdbcTemplate调用存储过程的三种情况
    Java_oracle超出打开游标的最大数的原因和解决方案
    windows+mysql集群搭建-三分钟搞定集群
  • 原文地址:https://www.cnblogs.com/HiJackykun/p/11182674.html
Copyright © 2011-2022 走看看