web17 JSP

作者: 路人爱早茶 | 来源:发表于2017-09-29 18:52 被阅读0次
  • ctrl+shift+r打开资源; ctrl+shift+t打开类
  • 在tomcat work中是翻译过后的jsp代码,带!<%!的会翻译道成员位置,不带!<%会直接扔到方法中
  • JSP中怕page属性language有且只能Java,因此写不写无所谓 import(java.util.*)
  • jsp的out缓存区会刷到response缓存区,因此response。getwrite方法最快;例外是设置out缓存区为(buffer=0kb)则直接往response缓存区存储这时候是正常顺序
  • pagecontext.findattribute()方法是从小到大找,找到就不再往后找(page<request<session<sttribute)
  • 静态包含:整体编译到一个文件,只有一个文件;
    动态包含:两个文件,文件中会有引用地址,在翻译时候还是两个文件,编译输出时候是一个文件
Paste_Image.png

1.JSP技术

  • 1.jsp脚本和注释
jsp脚本:
1)<%java代码%> ----- 内部的java代码翻译到service方法的内部
2)<%=java变量或表达式> ----- 会被翻译成service方法内部out.print()
3)<%!java代码%> ---- 会被翻译成servlet的成员的内容

jsp注释:  不同的注释可见范围是不同
1)Html注释:<!--注释内容--> ---可见范围 jsp源码、翻译后的servlet、页面                                               显示html源码
2)java注释://单行注释  /*多行注释*/ --可见范围 jsp源码 翻译后的servlet
3)jsp注释:<%--注释内容--%> ----- 可见范围 jsp源码可见
2.jsp运行原理-----jsp本质就是servlet(面试)
jsp在第一次被访问时会被Web容器翻译成servlet,在执行
过程:
第一次访问---->helloServlet.jsp---->helloServlet_jsp.java---->编译运行
PS:被翻译后的servlet在Tomcat的work目录中可以找到


3.jsp指令(3个)
jsp的指令是指导jsp翻译和运行的命令,jsp包括三大指令:
1)page指令 --- 属性最多的指令(实际开发中page指令默认)
属性最多的一个指令,根据不同的属性,指导整个页面特性
格式:<%@ page 属性名1= "属性值1" 属性名2= "属性值2" ...%>
常用属性如下:
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="前缀"%>


4.jsp内置/隐式对象(9个)----- 笔试
jsp被翻译成servlet之后,service方法中有9个对象定义并初始化完毕,我们在jsp 脚本中可以直接使用这9个对象
名称  类型  描述
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页面所发生的异常,在错误页中才起作用

(1)out对象
out的类型:JspWriter
out作用就是想客户端输出内容----out.write()
out缓冲区默认8kb 可以设置成0 代表关闭out缓冲区 内容直接写到respons缓冲   器


(2)pageContext对象
jsp页面的上下文对象,作用如下:
page对象与pageContext对象不是一回事
1)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域中获 取属性,在某个域中获取后将不在向后寻找

四大作用域的总结:
page域:当前jsp页面范围
request域:一次请求
session域:一次会话
application域:整个web应用



2)可以获得其他8大隐式对象
例如: pageContext.getRequest()
pageContext.getSession()



5.jsp标签(动作)
1)页面包含(动态包含):<jsp:include page="被包含的页面"/>
2)请求转发:<jsp:forward page="要转发的资源" />
Paste_Image.png

相关文章

  • web17 JSP

    ctrl+shift+r打开资源; ctrl+shift+t打开类 在tomcat work中是翻译过后的jsp代...

  • java基础-day43-JSP

    JSP 1. JSP 1.1 JSP概述 1.2 为什么要用JSP 1.3 JSP语法 1.3.1 JSP语法格式...

  • jsp学习 EL JSTL C标签

    JSP 第一个JSP程序 JSP对比servlet JSP中java脚本元素 JSP原理 JSP的翻译规则 JSP...

  • JSP基础学习笔记(3)--JavaBean

    JSP动作标签:

  • 用session对象实现用户登录

    index.jsp deal.jsp main.jsp exit.jsp

  • JavaWeb之JSP

    八、JSP 目录:什么是JSP、JSP原理、JSP基础语法、JSP指令、9大内置对象、JSP标签 JSTL标签 E...

  • jsp语法

    Jsp语法包含:注释、jsp指令、jsp脚本元素、jsp动作元素。 Jsp注释: Htm...

  • jsp

    jsp介绍 jsp语法 jsp指令 EL表达式 自定义标签 jsp指令 - page jsp指令 - includ...

  • JSP入门

    JSP的基本语法:1.JSP声明语法。2、JSP程序脚本。3、JSP脚本注释。4、JSP内容输出表达式。5、JSP...

  • jsp的内置标签

    jsp:forward 重定向标签

网友评论

      本文标题:web17 JSP

      本文链接:https://www.haomeiwen.com/subject/fdmpextx.html