JSP简介,9个隐藏对象

 JSPjava server page,java服务器端页面,是简化Servlet编写的一致技术,它将JAVA代码和HTML语句混合在同一文件中编写,

只对网页中要动态产生的内容采用JAVA代码来编写,而对固定不变的静态内容采用普通静态

HTML页面的方式编写。

    在JSP页面中编写的JAVA代码需要嵌套在<%%>内,嵌套在<%%>之间的JAVA代码

被称为脚本片段,没有嵌套在<%%>之间的内容被称为JSP的模板元素。

<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>My JSP 'index.jsp' starting page</title>
	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">    
	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
	<meta http-equiv="description" content="This is my page">
	<!--
	<link rel="stylesheet" type="text/css" href="styles.css">
	-->
  </head>
  
  <body>
    <% System.out.println("hello world");%>
  </body>
</html>
在控制台输出:hello world

    JSP文件就像普通的html文件一样,它们可以放置在WEB应用程序中的除了WEB-INF

及其子目录外的其他任何目录中,JSP页面的访问路径与普通HTML页面的访问路径形式

是一样的。

    JSP本质上是一个Servlet.

运行原理:WEB容器(Servlet引擎)接收到以.jsp结尾的URL的访问请求时,它将该访问

请求交给JSP引擎去处理。

    每个JSP页面在被第一次访问时,JSP引擎将他翻译成一个Servlet源程序,接着再把这个Servlet源程序编译成Servlet

的class类文件,然后再由web容器(Servlet引擎)像调用普通servlet程序一样的方式来装载和解释执行这个由j

sp页面翻译成的servlet程序。

    JSP规范没有明确要求JSP中的脚本程序代码必须采用JAVA语言,JSP中的脚本程序代码可以采用JAVA语言之外

的其他脚本语言来编写,但是,JSO页面最终必须转换成JAVA servlet程序。

   可以在WEB应用程序正式发布之前吗,将其中所有的JSP页面预先编译成SERVLET程序。

JSP隐藏对象:未声明就可以直接使用的对象

  ================================================================

原文地址:http://blog.csdn.net/unei66/article/details/10343717

1.out输出流对象(*)

隐藏对象out是javax.servlet.jsp.JspWriter类的实例。服务器向客户端输出的字符类内容可以通过out对象输出。可以直接把字符串打印到浏览器上。

  <body>
  
           <% out.println("hello sasa");%>
  </body>



2.request (HttpServletRequest)请求对象(*)

隐藏对象request是javax.servlet.ServletRequest类的实例。代表客户端的请求。request包含客户端的信息以及请求的信息,如请求哪个文件,附带的地址栏参数等。每次客户端请求都会产生一个request实例。


JSP页面:

<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>My JSP 'index.jsp' starting page</title>
	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">    
	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
	<meta http-equiv="description" content="This is my page">
	<!--
	<link rel="stylesheet" type="text/css" href="styles.css">
	-->
  </head>
  
  <body>
    <% String name=request.getParameter("name"); 
    System.out.println(name);%>
  </body>
</html>

浏览器输入:http://localhost:8090/MyLab2/index.jsp?name=sasa

控制台输出:sasa


3.response (HttpServletReponse)响应对象

隐藏对象response是javax.servlet.ServletResponse类的实例,代表服务器端的响应。服务器端的任何输出都是通过response对象发送到客户端浏览器。每次服务器端都会产生一个response实例。


4.config 配置对象

隐藏对象config是javax.servlet.ServletConfig类的实例,ServletConfig封装了配置在web.xml中初始化JSP的参数。JSP中通过config获取这些参数。每个JSP文件都有一个config对象。若需要访问当前JSP配置的初始化参数,需要通过映射的地址才行。

在web.xml配置index.jsp

    <!-- 配置和映射servlet -->
  <servlet>
  <!-- servlet注册的名字 -->
    <servlet-name>index</servlet-name>
    <jsp-file>/index.jsp</jsp-file>
    <init-param>
          <!-- 参数名 -->
      <param-name>test</param-name>
      <!-- 参数值 -->
      <param-value>testValue</param-value>
    </init-param>
  </servlet>
  
  <servlet-mapping>
  <!-- 需要和某一个servlet节点的servlet子节点的文本节点一致 -->
    <servlet-name>index</servlet-name>
    <!-- 映射具体 的访问路径: /  代表当前web应用的根目录 -->
    <url-pattern>/index.jsp</url-pattern>
  </servlet-mapping> 
尝试获取参数test的值:

  <body>
  
           <% String value=config.getInitParameter("test");
    System.out.println(value);%>
  </body>
输出:testValue


5.session 会话对象(*)

隐藏对象session是javax.servlet.http.HttpSession类的实例。session与cookie是记录客户访问信息的两种机制,session用于服务器端保存用户信息,cookie用于客户端保存用户信息。Servlet通过request.getSession()获取session对象,而在JSP中可以直接使用。如果JSP中配置了<%@ page session="false" %>,则隐藏对象session不可用。每个用户对应一个session对象。


6.application 应用程序对象(*)

隐藏对象application是javax.servlet.ServletContext类的对象。application封装了JSP所在的Web应用程序的信息,例如web.xml中配置的全局的初始化信息。Servlet中application对象通过ServletConfig.getServletContext()来获取。整个Web应用程序对应一个application对象。

  <body>
       <% String user=application.getInitParameter("user"); 
    System.out.println(user);%>
  </body>
输出结果:sasa

7.page 页面对象

隐藏对象page为javax.servlet.jsp.HttpJspPage类的实例,page对象代表当前JSP页面,是当前JSP编译后的Servlet类的对象。page相当于普通java类中的关键字this。

  <body>
  
           <% out.println(this);%>
           <br>
           <% out.println(page);%>
  </body>


8.pageContext 页面上下文对象(*)

隐藏对象pageContext为javax.servlet.jsp.PageContext类的实例。pageContext对象代表当前JSP页面编译后的内容。通过pageContext能够获取到JSP中的资源,可以从中获取到其他8个隐藏对象。

  <body>
    <%ServletRequest req=pageContext.getRequest();
       System.out.println(req==request);%>
  </body>
输出结果:true

9.exception 异常对象

隐藏对象exception为java.lang.Exception类的对象。exception封装了JSP中抛出的异常信息。要使用exception对象,需要设置<%@ page isErrorPage="true" %>。隐藏对象exception通常被用来处理错误页面。


============================================================================


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值