zoukankan      html  css  js  c++  java
  • JSP技术

    JSP的本质是一个类文件,它存储于tomcat(如果你使用tomcat)目录下的work文件夹中,该类文件继承了HttpJspBase类,而HttpJspBase类继承了HttpServlet类,所以其实质是一个servlet的类文件。


    JSP的脚本(以下要根据JSP的本质是一个Servlet类来理解):
    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源码可见
    其中jsp注释的范围最低,所以可以用于注释不希望被他人看见的内容,提高自己程序的安全性。
    response的输出流和<%=参数%>相比,一般而言response的速度更快,因为页面先寻找response缓存,然后out缓存再加载至response中被读取,out缓存默认大小为8kb,可以以page指令的buffer设置,如果设为0,则response的输出流和out输出流按正常排序的先后顺序输出。



    三大指令:
    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:当前页面是一个处理错误的页面

    include指令:
    页面包含(静态包含)指令,可以将一个jsp页面包含到另一个jsp页面中
    格式:<%@ include file="被包含的文件地址"%>
    静态包含为被包含的内容被以代码的形式写入进包含其的jsp servlet类文件,动态包含为jsp servlet中只导向一个地址,没有将被包含内容写入进去。

    taglib指令:
    在jsp页面中引入标签库(jstl标签库、struts2标签库)
    格式:<%@ taglib uri="标签库地址" prefix="前缀"%>

    JSP九个隐式对象(可以直接使用的对象):
    out------------------用于页面输出
    request------------得到用户请求信息,
    response------------------服务器向客户端的回应信息
    config-------------服务器配置,可以取得初始化参数
    session----------用来保存用户的信息
    application--------------web工程的上下文环境(ServletContext)
    page---------------------指当前页面转换后的Servlet类的实例(在普通类中的this)
    pageContext-----------------------JSP的页面容器
    exception-------------------表示JSP页面所发生的异常,在错误页中才起作用

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

    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域(域的范围从小到大)中获取属性,在某个域中获取后将不在向后寻找


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

  • 相关阅读:
    在DataGrid中创建一个点击列名时的弹出式窗口
    利用自定义事件实现不同窗体间的通讯 C#篇
    用javascript实现禁用鼠标右键
    刷新页面时,防止滚动条上滚
    web服务编程
    数据库链接Connection和DataReader的关闭
    .NET的WEB商业应用架构所要解决的若干
    zblog屏蔽分类文章
    过年随想
    mysql数据库文件的真实的物理存储位置
  • 原文地址:https://www.cnblogs.com/zhangrui0328/p/9285957.html
Copyright © 2011-2022 走看看