jsp 入门笔记2

本文围绕JSP技术展开,介绍了JSP的脚本和注释,包括不同脚本的翻译位置及不同注释的可见范围;阐述了JSP的运行原理,即首次访问会翻译成Servlet;还讲解了JSP的指令、内置的九大隐式对象、标签等内容,如page指令、out对象、页面包含标签等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一.jsp技术

1.1jsp的脚本和注释

      jsp脚本:

             1.)<%java 代码%> -----------------------------内部的java代码翻译到Servlet内部

              2.)<%= java变量或表达式%>---------------会被翻译成servlet内部out.print();

              3.)  <%!java 代码%>--------------------------会被翻译成servlet成员内部

    jsp注释:不同的注释可见范围是不同的

               1.)Html注释:<!--  注释内容 -->-----------可见范围jsp源码,翻译后的servlet,页面显示HTML源码。

                2.  java注释://单行注释   /* 多行注释*/   ---可见范围jsp源码,翻译后的servlet

                3.)jsp注释:<%-- 注释内容--%>----------------可见范围jsp源码

1.2 jsp的运行原理

      jsp在第一次被访问的时候就会被翻译成servlet,在执行

     过程:

         第一次被访问=====》index.jsp.=====》index.java====》编译运行

     ps:编译后的index.java文件可以在tomcat的work目录中找到

1.3 jsp的指令(3个)

      指令是指导jsp翻译和运行的命令,jsp包括三大指令:

      1.)page 指令 ------ 属性最多的指令 (page指令默认)

             根据不同的指令,指导整个页面特性

             格式:<%@ page 属性名1="属性值1" 属性名2="属性值2" 属性名3="属性值3" .....%>

              常用的属性如下:

                  language:  jsp脚本中可以嵌入的语言

                  pageEncoding:   当前jsp文件本身的编码---- 内部可以包含contentType属性

                  contentType:response.setContentType("text/html;charset=utf-8");

                  session :  是否在jsp在翻译的时候自动创建session

                  import  :   导入java包

                  errorPage : 当页面出错后跳转到那个页面

                  isErrorPage: 当前页面是个处理错误的页面

       2.) include 指令

              页面包含(静态包含)指令,可以将一个jsp页面包含到另一个jsp页面中

              格式:<%@ include file="被包含的文件地址"%>

       3.)taglib指令

               在jsp中引入标签库(jstl标签库、struts2 标签库)

               格式<%@ taglib uri=" 标签库地址"  prefix="前缀"%>

1.4 jsp内置的九大隐式对象

      jsp被翻译成Servelt后,servlet方法中有九个对象定义并初始化完毕,我们在jsp脚本中可以直接使用。

名称

类型

描述

out

javax.servlet.jsp.JspWriter

用于页面输出

request

javax.servlet.http.HttpServletRequest

得到用户请求信息,

response

javax.servlet.http.HttpServletResponse

服务器向客户端的回应信息

config

javax.servlet.ServletConfig

服务器配置,可以取得初始化参数

session

javax.servlet.http.HttpSession

用来保存用户的信息

application

javax.servlet.ServletContext

所有用户的共享信息

page

java.lang.Object

指当前页面转换后的Servlet类的实例

pageContext

javax.servlet.jsp.PageContext

JSP的页面容器

exception

java.lang.Throwable

表示JSP页面所发生的异常,在错误页中才起作用

  out对象

    out类型:JspWriter

    out的作用就是像客户端输出内容           --- out.write("输出内容");

     out缓冲区默认是8kb可以设置为0 代表关闭out 缓冲区, 内容直接写到response缓冲区。

pageContext对象

       jsp页面的上下文对象,作用如下:

       page对象与pageContext对象不是一回事

       pageContext是一个域对象

             setAttribute(String name,Object obj)

             getAttribute(String name)

             removeAttrbute(String name)

 

     pageContext可以向指定的其他域中存取数据

                setAttribute(String name,Object obj,int scope)

                 getAttribute(String name,int scope)

                 removeAttrbute(String name,int scope)

                  findAttribute(String name)

                  ---依次从pageContext域,request域,session域,application域中获 取属性,在某个域中获取后将不在向后寻找

     pageContext 可以获取的其他八大隐式对象

             pageContext.getRequest();

             pageContext.getSession();

             ...................

 

四大作用域的总结:

page域:当前jsp页面范围

request域:一次请求

session域:一次会话

application域:整个web应用

 1.5 jsp标签(也叫jsp动作)

       1.5.1 页面包含(动态包含):<jsp:include page="被包含的页面"/>

                 静态与动态的区别:

                 假设index_1.jsp 包含了 index_2.jsp。

                 静态包含:只会翻译生成一个java 文件,直接将index_2.jsp包含的页面内容写进index_1.jsp的页面,在编译运行。

                 动态包含:会翻译成两个java 文件,先编译运行index_1.jsp翻译后的index_1_jsp.java文件,在运行时,加载index_2.jsp翻译后的index_2_jsp.java文件编译运行。

       1.5.2 请求转发:<jsp:forward page="要转发的资源" />

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值