JavaWeb开发基础--JSP入门

来源:互联网 发布:c语言指针视频教程 编辑:程序博客网 时间:2024/05/21 15:31

JavaWeb开发基础–JSP入门

1.简介

#####JSP概念
JSP全称是Java Server Pages,它和servle技术一样,都是SUN公司定义的一种用于开发动态web资源的技术。
#####JSP特点
写jsp就像在写html,但它相比html而言,html只能为用户提供静态数据,而Jsp技术允许在页面中嵌套java代码,为用户提供动态数据。
2. JSP原理
JSP 的执行过程
(1) 客户端发出Request (请求);
(2) JSP Container 将JSP 翻译成Servlet 的源代码;
(3) 将产生的Servlet 的源代码经过编译后,加载到内存执行;
(4) 把结果Response (响应)发送至客户端。
由客服端向服务端发送请求,然后服务端讲jsp文件编译为servlet文件。因此,jsp最终还是转换成servlet文件
原理图
3. JSP语法
#####

4.JSP组成

(1)JSP模版元素
  JSP页面中的HTML内容称之为JSP模版元素。 直接书写在JSP中的html内容,看起来更像写HTML一样方便,但是最终会被翻译成servlet过程中
out.write()直接输出
(2) JSP表达式
  语法:<%= 变量或表达式 %> 接受的是一段java表达式,在jsp翻译到Servlet的过程中,将会计算表达式的值,利用out.write()直接输出
(3)JSP脚本片断
  <% %> JSP脚本片断中只能出现java代码,不能出现其它模板元素, JSP引擎在翻译JSP页面中,
会将JSP脚本片断中的Java代码将被原封不动地放到Servlet的_jspService方法中
(4)JSP声明

(5)JSP注释
  <%! java代码 %>在其中可以写java代码,其中的源代码会被拷贝到servlet的service方法的外面,利用它来servlet增加成员变量和成员方法
JSP声明中不能使用这些隐式对象,JSP隐式对象的作用范围仅限于Servlet的_jspService方法

(6)JSP指令

  <%– 注释信息 –%> JSP引擎在将JSP页面翻译成Servlet程序时,忽略JSP页面中被注释的内容。
// java的注释 翻译到servlet中的service方法中,会在编译时遗弃
html注释,会被当作jsp模板元素,直接输出到浏览器中,浏览器将不会显示html注释中的内容

  • page指令
    [language=’java’] 当前jsp使用的开发语言
    [extends = “package.class”] 当前的jsp翻译成servlet后要继承的类,注意此值必须是一个servelt的子类,一般情况下不要改
    [import=”{package.class},…..”] 导入需要使用的包
    java.lang.,javax.servlet.,javax.servlet.jsp.,javax.servlet.http.
    [session=”true|false”] 用来指定当前的jsp页面中是否使用session。如果设置为true,则翻译成servlet后将会有session对象。如果为false,jsp中将不会存在隐士对象session
    [buffer=”none | 8kb | sizedb”] out隐式对象所使用的缓冲区
    [autoFlush = “true|false”] out隐式对象是否自动刷新缓冲区,默认为真,一般不需要修改
    [contentType=”text/html;charset=utf-8”]用来指定浏览器响应头打开时使用的编码格式
    [pageEncoding = “utf-8”] 服务器翻译jsp时使用的编码格式。
    为了保证jsp中不出现乱码,应该让翻译时和浏览器打开时使用的编码一直,多使用utf-8
    [errorPage=”uri”] 用来指定当前页面的错误处理页面是谁
    [isErrorPage=”true|false”] 是否是错误处理页面
  • include指令
    <%@ include file=”relativeURL”%>
    其中的file属性用于指定被引入文件的路径。路径以“/”开头,表示代表当前web应用。

    - 静态包含 include指令:在源文件级别进行合并,多个jsp生成一个servlet,最终有这一个servlet生成相应 -动态包含:除 include指令之外的其它包含语句都属于动态包含,在运行时将多个输出进行合并,多个jsp就会生成多个servlet,最终由这多个servlet生成响应,组成一个流           提供相应。执行效率没有静态包含高

    (7)JSP标签

    (8)JSP内置对象

    (9)如何查找JSP页面中的错误

0 0
原创粉丝点击