0


java web day7

pageEncoding="UTF-8"%>

Insert title here 大数据2005班 <%response.getWriter().print("欢迎你"); %>


![在这里插入图片描述](https://img-blog.csdnimg.cn/36908a4bd42c4d049b10bacff2363c98.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA6bKyICDlsbHmtbfnu48=,size_12,color_FFFFFF,t_70,g_se,x_16)

#### 6.1.3JSP运行原理

![在这里插入图片描述](https://img-blog.csdnimg.cn/4fa309429ea14e1ca29b48973376d0b8.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA6bKyICDlsbHmtbfnu48=,size_20,color_FFFFFF,t_70,g_se,x_16)1.通过浏览器首次访问jsp时  
 2.JSP容器会生成对应的Servlet文件,也就是.java文件  
 3.JSP容器,会把java文件编译对应的class文件  
 4.JSP容器,会生成对应的servlet对象  
 5.通过生成的servlet对象,去处理浏览器发送的请求,响应数据给浏览器。

D:\java web\day7\apache-tomcat-8.5.71\work\Catalina\localhost\chapter07\org\apache\jsp  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/ab0da84fb4a9421999916c4578894262.png)

### 6.2 jsp基本语法

#### 6.2.1JSP脚本元素

在jsp页面书写java的三种形式:  
 1.可以声明语句和方法  
 2.可以书写java代码段  
 3.可以书写表达式  
 在JSP脚本元素在<%%>中嵌套一条或者多条java代码。  
 在jsp页面里可以书写java代码片段,基本语法:<% java代码片段 %>  
 JSP 声明语句:对应的位置生成在了成员位置。  
 在jsp里面可以书写变量和方法:基本语法:  
 <%!  
 定义变量或者方法  
 %>  
 JSP 表达式:对应的位置生成在 \_jspService方法内部。  
 在jsp页面,可以输入一个结果,基本语法:<%=表达式 %>,其实就等同于out.print(); ,注意:表达式后面不能书写分号

<%@ page language=“java” contentType=“text/html; charset=UTF-8”
pageEncoding=“UTF-8”%>
Insert title here <%! int a=1 ,b=2; public String dashuju(){ String str="dashuju"; return str; } %> <% out.print(a+b); %> <%response.getWriter().print("huagong"); %> <%=a+b %> <%=dashuju() %>


![在这里插入图片描述](https://img-blog.csdnimg.cn/52432aa3c39a47ee890dc32d0d52f698.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA6bKyICDlsbHmtbfnu48=,size_19,color_FFFFFF,t_70,g_se,x_16)

#### 6.2.2 JSP注释

<%-- 注释信息 --%>

<%@ page language=“java” contentType=“text/html; charset=UTF-8”
pageEncoding=“UTF-8” session=“true”%>
Insert title here htm内容

<%//java 注释
System.out.print(“java 注释”);

%>

<%–jsp 注释–%>>


### 6.3JSP指令

#### 6.3.1page指令

page指令的用途是设置与jsp页面相关的信息,比如说设置jsp页面的编码,jsp页面的默认语言等  
 基本语法格式:<%@ page 属性=“属性值” 属性=“属性值” 属性=“属性值” %>  
 比如:  
 <%@ page language=“java” contentType=“text/html; charset=UTF-8”  
 pageEncoding=“UTF-8”%>  
 常用属性:  
 language: 默认语言java,也就是只有java一种语言。  
 pageEncoding:设置jsp的编码格式,一般情况下可以省略 contentType这个属性。  
 session属性:值得类型是boolean,如果对应的值是true,在jsp页面可以使用session对象,反之就不能使用。  
 import属性:导包,和在java里面使用一样,如果想使用某个类,前提导入某个类的包名。

![在这里插入图片描述](https://img-blog.csdnimg.cn/f269e874e82046a7b9b2d4be844dd952.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA6bKyICDlsbHmtbfnu48=,size_20,color_FFFFFF,t_70,g_se,x_16)

#### 6.3.2include指令

在jsp页面通常会需要显示其它页面的信息,所以可以通过这个include指令把其它页面包含过来。  
 基本语法:<%@ include file=“被包含文件的url” %>  
 创建两个jsp页面: date.jsp页面,include.jsp页面。  
 使用jsp的include指令实现的包含,又称为静态包含,静态包含的特点:  
 1.把多个页面的内容,合并输出,比如把date.jsp 和 include.jsp内容合并输出。  
 2.多个页面对应生成一个java文件,编译后,对应一个class文件。  
 例如:

<%@ page language=“java” contentType=“text/html; charset=UTF-8”
pageEncoding=“UTF-8”%>
<%@page import=“java.util.Date” %>
Insert title here date.jsp页面用来输出当前时间 <%out.print(new Date().toLocaleString()); %> <%out.print(new java.util.Date()); %>

<%@ page language=“java” contentType=“text/html; charset=UTF-8”
pageEncoding=“UTF-8”%>
Insert title here 我是include页面,下我包含进来的页面 <%@ include file="date.jsp" %>


![在这里插入图片描述](https://img-blog.csdnimg.cn/24291a563372467c91266c066e64b9eb.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA6bKyICDlsbHmtbfnu48=,size_20,color_FFFFFF,t_70,g_se,x_16)

### 6.4JSP隐式对象

#### 6.4.1 隐式对象概述:

什么是隐式对象:在jsp页面里面,jsp提供了一些对象,不用咱们自己创建,可以直接使用的对象。  
 jsp常见的九大隐式对象:  
 request: HttpServletRequest,请求对象,它同时也是域对象,作用范围一次请求  
 response:HttpServletResponse,响应对象  
 session: HttpSession ,会话对象,它同时也是域对象,作用范围一次会话  
 application:ServletContext,上下文对象,它同时也是域对象,作用范围整个项目  
 config:ServletConfig,配置对象  
 out:JspWriter,其实和PrintWriter作用差不多。  
 page:Object ,代表当前jsp的页面对象  
 pageContext:PageContext ,jsp容器  
 exception:Throwable,异常对象,用来捕获异常信息。  
 只有当前jsp页面有isErrorPage="true"这个属性时,才能使用exception对象。

#### 6.4.2 out对象

out对象在输出内容到网页上面去,最终是通过reponse缓冲区给输出的。  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/4b5db888a32f4f6eb2cf5c22f6858f18.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA6bKyICDlsbHmtbfnu48=,size_20,color_FFFFFF,t_70,g_se,x_16)

<%@ page language=“java” contentType=“text/html; charset=UTF-8”
pageEncoding=“UTF-8”%>
Insert title here <% out.print("first line

");

response.getWriter().print(“seconde line
”);

%>


![在这里插入图片描述](https://img-blog.csdnimg.cn/75ac9cc65f204a8a8e99046f208f03fe.png)

#### 6.4.3pageContext对象

第一个功能:获取其它八个隐式对象  
 1.获取请求对象:getRequest();  
 2.获取响应对象:getResponse();  
 3.获取输出对象:getOut();

![在这里插入图片描述](https://img-blog.csdnimg.cn/f58ddabee89a4af7a752bb773da781d5.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA6bKyICDlsbHmtbfnu48=,size_20,color_FFFFFF,t_70,g_se,x_16)  
 第二个功能:操作其它三个域对象:request、session、application.  
 pageContext也是一个域对象:作用范围在当前jsp页面。  
 操作其它三个域对象的方法:  
 1.存值:setAttribute(String key,Object obj,int scope);  
 APPLICATION\_SCOPE :对应的是application:表示web应用程序范围  
 REQUEST\_SCOPE: 对应的是request:表示请求范围  
 SESSION\_SCOPE:对应的是session:表示会话范围  
 PAGE\_SCOPE:对应的是自己 pageContext:表示页面范围

<%@ page language=“java” contentType=“text/html; charset=UTF-8”
pageEncoding=“UTF-8”%>
Insert title here <% out.print("2020080605013"+"龚于权");%>


<% //获取request对象 HttpServletRequest req=(HttpServletRequest) pageContext.getRequest();

    //req.setAttribute("req", "dashuju");
    pageContext.setAttribute("dashu1","pagecontext",PageContext.PAGE_SCOPE);
    pageContext.setAttribute("dashu2","REQUEST",PageContext.REQUEST_SCOPE);
    pageContext.setAttribute("dashu3","SESSION",PageContext.SESSION_SCOPE);
    pageContext.setAttribute("dashu4","APPLICATION",PageContext.APPLICATION_SCOPE);

%>
<%=pageContext.findAttribute(“dashu4”) %>
<%=(String)req.getAttribute(“dashu”)%>


![在这里插入图片描述](https://img-blog.csdnimg.cn/b33f2071de1c4e5dacaa4501334b44a9.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA6bKyICDlsbHmtbfnu48=,size_20,color_FFFFFF,t_70,g_se,x_16)

#### 6.4.4exception对象

exception 对象它是用来捕获异常信息的。  
 它用于封装JSP中抛出的异常信息,即page指令中指定了属性<%@ page isErrorPage=“true” %>

<%@ page language=“java” contentType=“text/html; charset=UTF-8”
pageEncoding=“UTF-8” errorPage=“error.jsp”%>
Insert title here <%int a=3,b=0;

%>
输出:<%=(a/b) %>

<%@ page language=“java” contentType=“text/html; charset=UTF-8”
pageEncoding=“UTF-8” isErrorPage=“true”%>


本文转载自: https://blog.csdn.net/2401_87389817/article/details/142606180
版权归原作者 2401_87389817 所有, 如有侵权,请联系我们删除。

“java web day7”的评论:

还没有评论