码迷,mamicode.com
首页 > 编程语言 > 详细

69期-Java SE-044_JSP-1

时间:2019-07-14 00:02:00      阅读:107      评论:0      收藏:0      [点我收藏+]

标签:get   war   attribute   jsp内置对象   instance   一个   直接   pat   cat   

 

### 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>

 

69期-Java SE-044_JSP-1

标签:get   war   attribute   jsp内置对象   instance   一个   直接   pat   cat   

原文地址:https://www.cnblogs.com/HiJackykun/p/11182674.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!