Jsp详解

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Jsp详解

1.简介

2.Jsp的运行原理

3.Jsp的语法

1.Jsp模板元素

2.Jsp中的脚本表达式

3.Jsp中的脚本片段

4.Jsp的声明

5.Jsp注释

6.Jsp指令

1.首先我们来看一下page指令的用法

2.下面在来看一下include指令

3.最后来看一下taglib指令

7.Jsp中内置的9个隐式对象

8.JSP标签库

1.jspinclude标签

2.jspforward标签

3.jspparam或者jspparams标签

4.jspuseBean标签jspsetProperty标签jspgetProperty标签

9.Jsp中怎么排查错误

简介:

JSP全称是JavaServer Pages,它和servle技术一样,都是SUN公司定义的一种用于开发动态web资源的技术。

JSP这门技术的最大的特点在于,写jsp就像在写html,但:

它相比html而言,html只能为用户提供静态数据,而Jsp技术允许在页面中嵌套java代码,为用户提供动态数据。

相比servlet而言,servlet很难对数据进行排版,而jsp除了可以用java代码产生动态数据的同时,也很容易对数据进行排版。

不管是JSP还是Servlet,虽然都可以用于开发动态web资源。但由于这2门技术各自的特点,在长期的软件实践中,人们逐渐把servlet作为web应用中的控制器组件来使用,而把JSP技术作为数据显示模板来使用。

其原因为,程序的数据通常要美化后再输出:

让jsp既用java代码产生动态数据,又做美化会导致页面难以维护。

让servlet既产生数据,又在里面嵌套html代码美化数据,同样也会导致程序可读性差,难以维护。

因此最好的办法就是根据这两门技术的特点,让它们各自负责各的,servlet只负责响应请求产生数据,并把数据通过转发技术带给jsp,数据的显示jsp来做。

Jsp的运行原理:

目标:

Web服务器是如何调用并执行一个jsp页面的?

Jsp页面中的html排版标签是如何被发送到客户端的?

Jsp页面中的java代码服务器是如何执行的?

Web服务器在调用jsp时,会给jsp提供一些什么java对象?

思考:JSP为什么可以像servlet一样,也可以叫做动态web资源的开发技术?

其实Jsp就是一个Servlet,所以我们要先介绍Servlet的相关技术,当我们第一次访问Jsp 的时候,Jsp引擎都会将这个Jsp翻译成一个Servlet,这个文件存放在Tomcat中的work目录中,这里,我们新建一个MyJsp.jsp页面,然后访问以下,我们看一下翻译后的源码:

1.<%@ page language="java"import="java.util.*"pageEncoding="utf-8"%>

2.

3.

4.01 Transitional//EN">

4.

5.

6.

7.My JSP 'MyJsp.jsp' starting page

8.

9.

10.

11.

12. This is my JSP page.

13.

14.

1.package org.apache.jsp;

2.

3.import javax.servlet.*;

4.import javax.servlet.http.*;

5.import javax.servlet.jsp.*;

6.import java.util.*;

7.

8.public final class MyJsp_jsp extends org.apache.jasper.runtime.HttpJspBase

9.implements org.apache.jasper.runtime.JspSourceDependent {

10.

11.private static final JspFactory _jspxFactory = JspFactory.getDefaultFactor

y();

12.

13.private static java.util.List _jspx_dependants;

14.

15.private javax.el.ExpressionFactory _el_expressionfactory;

16.private org.apache.AnnotationProcessor _jsp_annotationprocessor;

17.

18.public Object getDependants() {

19.return _jspx_dependants;

20. }

21.

22.public void _jspInit() {

23. _el_expressionfactory = _jspxFactory.getJspApplicationContext(getServlet

Config().getServletContext()).getExpressionFactory();

24. _jsp_annotationprocessor = (org.apache.AnnotationProcessor) getServletCo

nfig().getServletContext().getAttribute(org.apache.AnnotationProcessor.class .getName());

25. }

26.

27.public void _jspDestroy() {

28. }

29.

30.public void _jspService(HttpServletRequest request, HttpServletResponse re

sponse)

31.throws java.io.IOException, ServletException {

相关文档
最新文档