(36)JSP的隐式对象

  

11,11,1

今天的主要内容:

JSP的隐式对象

JSP隐式对象是Web容器加载的一组类的实例。它是可以直接在JSP页面使用的对象。分为4个主要类别:

一、输入和输出对象:控制页面的输入和输出(request、response、out)。

二、作用域通信对象:检索与JSP页面的Servlet相关的信息(session、application、pageContext)。

三、Servlet对象:提供有关页面环境的信息(page、config)。

四、错误对象:处理页面中的错误(exception)。

1、pageContext对象

(1)pageContext对象是javax.servlet.jsp.PageContext类的实例对象,javax.servlet.jsp.PageContext类是javax.servlet.jsp.JspContext的子类。

(2)pageContext对象是通过调用JspFactory.getPageContext方法返回的。

(3)pageContext对象封装了当前JSP页面的运行信息,它提供了返回JSP页面的其他隐式对象的方法。

(4)在JSP页面中只需将pageContext对象传递给某个Java类的实例对象,在该Java对象中就可以访问和调用其他隐式对象的功能了。

(5)pageContext对象使用户可以访问当前页面作用域中定义的所有隐式对象。

a)getException()方法返回exception隐式对象

b)getPage()方法返回page隐式对象

c)getRequest()方法返回request隐式对象

d)getResponse()方法返回response隐式对象

e)getServletConfig()方法返回config隐式对象

f)getServletContext()方法返回application隐式对象

g)getSession()方法返回session隐式对象

h)getOut()方法返回out隐式对象 

删除属性的方法:public void removeAttribute(String name)

查找属性的名称:findAttribute方法,在制定的作用域中查找。找到了,就返回该属性的值,没找到就返回null.

请求的转发对象:

Eg:

RequestDispatcher rd=request.getRequestDispatcher(“result.jsp”);

rd.forward(request,response);//转交到目的地

rd.include(request,response);

Servlet对象:

page对象:它代表的就是this,表示的是页面的本身。

<%!void fun(){

 

}%>

ServletConfig

在web.xml中进行配置:

<servlet>

    <servlet-name>ExampleServlet</servlet-name>

    <servlet-class>com.csdn.servlet.ExampleServlet</servlet-class>

    <init-param>

        <param-name>website</param-name>

        <param-value>www.csdn.com</param-value>

    </init-param>

  </servlet>

(6)PageContext类中定义了一个forward方法和两个include方法来分别简化和替代RequestDispatcher.forward方法和RequestDispatcher.include方法的调用:

a)public void forward(java.lang.String relativeUrlPath)throws javax.servlet.ServletException,java.io.IOException

b)public void include(java.lang.String relativeUrlPath)

       throws javax.servlet.ServletException,java.io.IOException

c)public void include(java.lang.String relativeUrlPath,boolean flush) throws javax.servlet.ServletException,java.io.IOException

注意:传递给这些方法的资源路径都只能是相对路径,如果路径以“/”开头,表示相对于当前WEB应用程序的根目录,否则,表示相对于当前JSP所映射到的访问路径。

2、Servlet对象

a)page对象

page对象提供对网页上定义的所有对象的访问。page对象表示页面本身,它是java.lang.Object类的一个实例。

b)config对象

config对象存储Servlet的一些初始信息。config对象是javax.servlet.ServletConfig接口的一个实例,ServletConfig接口提供方法以检索Servlet初始化参数。config对象表示编译JSP页面的Servlet初始化数据的配置。

3、错误对象exception

(1)exception对象处理JSP页面中的错误

printStackTrace()方法用于显示异常的堆栈跟踪。

4、JSP的开发模式

MVC设计模式

(1)在开发一个软件之前,必须先设计好其架构,一个基本的架构思想是将软件分成不同的模块,问题的关键就是如何划分模块。

(2)MVC(模型-视图-控制器)是20世纪80年代为Smalltalk-80编程语言发明的一种软件设计模式,它是一种分离业务逻辑与显示界面的设计方法。

(3)MVC的模型(Model)部分负责管理程序的业务数据,视图(View)部分负责显示界面,控制器(Controller)部分则负责与用户进行交互(接受请求和选择响应视图)。

5、JSP的设计模式

JSP开发模式

(1)JSP规范给出了使用JSP页面构建Web应用程序的两个方案—JSP模式1和模式2。两个模式的区别在于处理的位置。

(2)JSP模式1(JSP + JavaBean):在模式1的体系结构中,JSP页面负责处理请求并将响应发送给客户端。

模式1:

(1)Model1的典型的交换过程:首先用户通过浏览器调用Web应用中的JSP页面,发送request请求,JSP页面接收到浏览器的请求后,通过调用JavaBean对象的方法从数据库中读取数据,然后JSP页面再把数据返回浏览器,最终在浏览器中显示相应的信息。

(2)优点:非常适合小型Web项目的快速开发;对Java Web开发人员的技术要求不高。

(3)弊端:Java和HTML柔和在一起,在Web项目开发的后期和维护阶段会造成很大的困难。

模式2:

(1)JSP模式2(MVC):模式2体系结构集成使用了Servlet和JSP页面。在该模式中,JSP页面用于表示层,并且Servlet负责处理各类任务。

(2)Model2交互过程:首先用户通过浏览器向Web应用中的Servlet发送请求,Servlet接收到请求后实例化JavaBean对象,调用JavaBean对象的方法,JavaBean对象返回从数据库中读取的数据,Servlet选择合适的JSP,并且把从数据库中读取的数据通过这个JSP进行显示,最后JSP页面把最终的结果返回给浏览器。

(3)优点:业务逻辑和表示内容得到了很好的分离,这种开发方式适合多人合作开发大型的项目。

(4)弊端:Web项目开发的难度加大了,对开发人员的技术要求也提高了。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值