欢迎来到天天文库
浏览记录
ID:35294559
大小:27.66 KB
页数:6页
时间:2019-03-23
《javaweb开发中的jsp知识总结》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、Javaweb开发中的jsp知识总结1.jsp简介:jsp是一种基于文本的程序,其特点是HTML代码与Java程序共存,执行时jsp会被tomcat自动翻译,这个过程对开发者是透明的,不需要关注的,编译后的jsp和httpservlet一样,都是javax.servlet.Servlet接口的子类,因此jsp是另一种形式的servlet。2.Jsp概述:jsp全称是Javaserverpage,是为了简化servlet的工作而出现的替代品,sun公司1997年推出了servletAPI以及第一款Javaweb服务器,早期的javaweb层体系结构
2、中只有servlet,接受用户请求,处理业务逻辑,生成HTML显示结果都是在HTML中完成的,虽然servlet可以胜任所有的工作,但是servlet不能像php,asp等镶嵌HTML代码,输出HTML代码比较困难,而且部署过程也比较复杂。为了克服servlet的这些弱点,sun公司在1999年推出了jsp,作为对servlet的补充,jsp在生成HTML代码上比servlet要简单许多,而且不需要特殊部署,只需要复制到服务器下面即可运行,jsp包括很多技术,包括Javabean,自定义标签,El表达式,JSTL标准标签类库等,这些强大成熟的技术
3、使得jsp在视图层有很大的优势。3.Jsp工作原理:jsp是一种servlet,但是与httpservlet的工作方式不一样,httpservlet是先由源代码编译成.class文件在部署到服务器下,先编译后部署,而jsp则是先部署再编译成.class文件,先部署后编译的jsp会在客户端第一次请求jsp文件是被编译成httpjsppage类,该类会被服务器临时存放在服务器工作目录里面,由于jsp只会在客户端第一次请求时被编译,所以第一次请求jsp是会比较慢,而之后的请求由于不用编译,所以会比较快。4.Jsp生命周期:jsp也是servlet,运行
4、时只有一个实例,跟servlet一样,jsp实例初始化,销毁是会调用servlet的init()和destory()方法,另外jsp还有自己的初始化方法和销毁方法_jspinit()与_jspdestory()。5.Jsp语法:jsp是HTML代码与Java代码的混合体,其中HTML部分遵循HTML语法,Java部分遵循Java语法。(1)Jsp元素与模板数据:元素:就是jsp的java部分,包括脚本,指令,与标签,元素决定着程序的流程,模板数据:就是jsp中的HTML部分,它的内容是固定的,无论程序怎么运行,模板数据输出到客户端时都不会发生变化
5、,模板数据不会控制程序的流程,也不会影响程序的运行结果,模板数据写的是什么输出来就是什么。(2)jsp脚本:jsp脚本必须使用“<%”和%>括起来,否则被视为模板元素,且中间的代码必须遵循Java语法,否则会发生编译错误,共有三种格式:<%%>:其中可以写语句<%!%>:其中可以写类,方法,变量,枚举<%=%>:输出变量的值(3)jsp指令:jsp指令用来输出jsp页面的一些属性等,例如编码方式,文档类型,,jsp指令以<%@开始,以%>结束,常见的指令有三种:page,taglib,include等。Page指令:最常见的指令,用来声明页面的属
6、性,jsp指令的多个属性可以写在一个page指令里,也可以写在多个page里。但要注意,无论在哪个page指令里的属性都只能出现一次,否则会出现编译错误,import属性除外,可以出现多次。Include指令:比较简单,只有一种形式,<%@includefile=”relativeURL”%>,relativeURL为本应用程序内的另一个jsp文件,jsp还有另外一种包含文件的行为,<%jsp:includepage=”relativeURL”%>该命令与include指令的用法基本一致,作用也一样,不同的是,include指令是先包含,后编译,
7、在被编译后的jsp中已经包含被include的文件内容了,而include行为是先运行后包含,在被编译的jsp中没有被include的内容。Taglib指令:jsp支持标签技术,使用标签功能可以实现视图代码重用,很少量的代码就能实现很复杂的显示效果,要使用标签必须先声明标签库以及标签前缀,taglib指令用来指明jsp页面内使用的jsp标签库,taglib指令有两个属性,url为类库的地址,prefix为标签的前缀。1.jsp内置对象:lout输出流对象:是javax.servlet.jsp.JspWrite类的实例,服务器向客户端输出的字符类内
8、容可以通过out对象输出。lrequest请求对象:代表着客户端的请求,request包含客户端的信息以及请求的信息,如请求的哪个文件,
此文档下载收益归作者所有