您好,欢迎访问代理记账网站
移动应用 微信公众号 联系我们

咨询热线 -

电话 15988168888

联系客服
  • 价格透明
  • 信息保密
  • 进度掌控
  • 售后无忧

JavaWeb JSP

JSP

1.什么是JSP

JSP全名为Java Sever Pages,中文名叫java服务器页面,其根本是一个简化的Servlet设计,它是由Sun Microsytems公司倡导、许多公司一起建立的一个动态网页技术标准。JSP技术有点类似ASP技术,他是在传统的网页HRML文件(*html,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件,后缀名为(*.jsp)。用JSP开发的Web应用是跨平台的,既能在Linux下运行,也能在其他操作系统上运行。

  JSP将页面逻辑与网页设计的显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。

*.html 静态页面(包含固定的页面内容)

*.jsp   动态页面(页面数据可以动态更新,支持嵌套java代码和html代码)

2.JSP为什么会出现

1.servlet展示信息的不方便,加入了JSP

2.JSP本质上也是个setvlet

3.JSP就是在HTML页面中嵌入了java代码

3.JSP中如何嵌套java代码

答:小脚本(<%java代码%>)

声明标签<%!变量或者⽅法声明%>

表达式标签<%=表达式%>在⻚⾯上显示的效果

程序代码标签<%java代码%>⻚⾯上动态展示内容

page指令:

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

<body>

<%!int i=10;%><!--成员变量-->

<%!public void show(){}%><!--成员⽅法-->

<%=i%><!--输出变量值-->

</body>

4.JSP的工作原理

当浏览器访问http://localhost:8008/user/index.jsp。服务器发现后缀为.jsp,它会根据路径找到index.jsp文件,会将index.jsp翻译成index_jsp.java文件,对这个java文件进行编译,产生一个index_jsp.class文件,将class文件加载运行。将jsp翻译成java文件,它是将JSP中所有的HTML代码通过流进行输出,也就是说最终翻译成class,被虚拟机加载,它本质是servlet,它就会往回响应,响应回去就是把JSP中的HTML代码以流的方式写回浏览器。所以在JSP中展示出了HTML代码。

5.JSP的内置对象

JSP中一共预先定义了9个这样的对象,分别为:request、response、session、application、out、pagecontext、config、page、exception

1.request对象

request对象是javax.servlet.httpServletRequest类型的对象。该对象代表了客户端的请求信息,主要用于接受通过HTTP协议传送到服务器的数据。(包括头信息、系统信息、请求方式以及请求参数等)。request对象的作用域为一次请求。

2.response对象

response代表的是对客户端的响应,主要是将JSP容器处理过的对象传到客户端。resp对象也具有作用域,它只在JSP页面内有效。所属类型:   HttpServletResponse。

3.session对象

session对象是由服务器自动创建的与用户请求相关的对象。服务器为每个用户都生成一个session对象,用于保存该用户的信息,跟踪用户的操作状态。session对象内部使用Map类来保存数据,因此保存数据的格式为key/value"。session对象的value可以使用复杂的对象类型,而不仅仅局限于字符串类型。所属类型:HttpSession。

4.application对象

application对象可将信息保存在服务器中,直到服务器关闭,否则application对象中保存的信息会在整个应用中都有效。与session对象相比,application对象生命周期更长,类似于系统的”全局变量”ServletContext

区别:

request:单次请求

session:浏览器访问期间(会话期间)

application:服务器启动期间,所存的数据可以跨浏览器

5.out对象

out对象用于在Web浏览器内输出信息,并且管理应用服务器上的输出缓冲区。在使用out对象输出数据时,可以对数据缓冲区进行操作,及时清除缓冲区中的残余数据,为其他的输出让出缓冲空间。待数据输出完毕后,要及时关闭输出流。

6.pageContext对象

pageContext对象的作用是取得任何范围内的参数,通过它可以获取JSP页面的out、request、response、session、application等对象。pageContext对象的创建和初始化都是由容器来完成的,在JSP页面中可以直接使用pageContext对象。

7.config对象

config对象的主要作用是取得服务器的配置信息。通过pageContext对象的getSerletConfig()方法可以获取一个config对象。当一个Servlet初始化时,容器把某些信息通过config对象传递个这个Servlet。开发者可以在web.xml文件中为应用程序环境中的Servlet程序和JSP页面提供初始化参数。

8.page对象

page对象代表JSP本身,只有在JSP页面内才是合法的。page隐含对象本质上包含当前Servlet接口引用的变量,类似于java编程中的this指针。

9.exception对象

exception镀锡的作用是显示异常信息,只有包含isErrorPage=”true”的页面中才可以被使用,在一般jsp页面中使用该对象无法编译JSP文件。exception对象和java的所有对象一样,都具有系统提供的继承结构。exception对象几乎定义了所有的异常情况。在java程序中,可以使用try/catch关键字来处理异常情况;如果在JSP页面中没有捕获到的异常,就会产生exception对象,并吧exception对象传送到在page指令中设定的错误页面中,然后在错误页面中处理相应的exception对象。

6.JSP的指令

JSP指令用来设置整个JSP页面相关的属性,如网页的编码法师和脚本语言。

语法格式如下:

<%@ directive attribute="value" %>

directive:指令名称 attribute 属性名 value:属性值

指令描述

描述

page

定义网页依赖属性,比如脚本语言、error页面、缓冲需求等等

include

包含其他文件

taglib

引入标签库的定义

(1)page指令为

Page指令为容器提供当前页面的使用说明一个jsp页面可以包含对个page指令。

Page指令的语法格式:

<%@page attribute="value"%>

(2)Include指令

JSP可以通过include指令来包含其他文件。被包含的文件可以是JSP文件、HTML文件或文本文件。包含的文件就好像是该JSP文件的一部分,同时编译执行。

Include指定语法格式如下:

<%@ include file=”文件相对 url 地址”%>

include指令中的文件名实际上是一个相对的URL地址

如果您没有给文件一个相关的路径,JSP编译器默认在当前路径下寻找

(3)Taglib指令

 JSP API允许用户自定义标签,一个自定义标签库就是自定义标签的集合。

Taglib指令引入一个自定义标签集合的定义,包括路径、自定义标签。

<%@ taglib url="uri" prefix=" "%>

uri属性定义标签库的位置,prefix属性指定标签库的前缀(可以自定义)


分享:

低价透明

统一报价,无隐形消费

金牌服务

一对一专属顾问7*24小时金牌服务

信息保密

个人信息安全有保障

售后无忧

服务出问题客服经理全程跟进