JSP/Servlet

JSP3个编译指令

 

page:针对当前页面,配置各种属性

<% @ page contentType="text/html" ; charset="gbk" language="java" isErrorPage="true"%>

 

include:用于指定包含另一个页面,可以将一个外部文件嵌入到当前JSP文件中,这个是个静态的include语句,它会把目标页面的其他编译指令也包含进来

<%@ include file="**.jsp"%>

 

taglib:用于定义和访问自定义标签

 

JSP的7个动作指令

forword指令

用于将页面的相应转发到另外的页面,既可以转发到静态HTML页面,也可以转发到动态的JSP页面,或者转发到容器中的servlet。并没有重新向新页面发送请求,只是完全采用了新的页面来对用户生成响应-请求依然是一次请求,所以请求参数,请求属性都不会丢失。地址栏url不会改变

<jsp : forward page="***.jsp">

    <jsp:param name="" value="" />

</jsp: forward>

 

include指令

动态的,用于包含某个页面,不会导入被include页面的编译指令,仅仅导入页面的body内容插入页面

<jsp: include page="**.jsp"%>

静态导入将导入页面的代码完全融入,两个页面融合成一个整体servlet,动态导入在servlet中使用include方法来引入被导入的内容

 

useBean、setProperty、getProperty指令

3个都是也JavaBean相关的指令,其中useBean指令用于在JSP页面中初始化一个Java实例,后面连个用于为bean实例的属性赋值、取值

<jsp : useBean id="name" class="classname" scope="page|request|session|application">

id : bean实例名

class:类路径

scope:bean作用范围

 

plugin指令

主要用于下载服务器端的JavaBean或Applet到客户端执行,由于程序在客户端运行,因此客户端必须安装虚拟机

 

param 指令

设置参数的值,不能单独使用 。可以和include、forward、plugin指令结合使用

 

JSP脚本中的9个内置对象

这9个对象都是在JSP被容器生成.java文件时加入的,可以直接使用

 

page:

代表该页面本身,通常没有太大用处,也就就是servlet中的this,其类型就是生成的servlet类,能用page的地方就可以用this

 

exception:

java.lang.Throwable的实例,该实例代表其他页面中的异常错误,只有当编译指令page的isErrorPage属性为true时,该对象才可以使用,常用方法getMessage() 和printStackTrace()

 

 

pageContext:

javax.servlet.jsp.PageContext的实例,带表JSP的上下文,是用该对象可以访问页面中的共享数据。可以得到下面的所有对象

 

appliction:

javax.servlet.ServletContext的实例,该实例代表JSP所属的web应用本身,可用于JSP页面,或者在Serblet之间交换信息

 

config:

javax.servlet.ServletConfig的实例,该实例代表JSP的配置信息,该对象更多的在servlet中有效

 

request:

javax.servlet.http.HttpServletRrquest的实例,该对象封装了一次请求,客户端的请求参数都被封装在该对象里

 

response:

javax.servlet.http.HttpServletResponse的实例,代表服务器对客户端的相应。通常很少使用该对象直接响应,而是使用out对象,除非需要生成非字符响应。response常用于重定向,sendRedirect():与forward不同的是重定向会丢失所有的的请求参数和request范围的属性,重定向将生成第二次请求,与前一次请求不再同一个request范围内。放松一次请求的请求参数和request范围的属性全部丢失,地址栏的URL也会跟着改变

 

session:

javax.servlet.http.HttpSeesion的实例,该对象代表一次回话,当客户端浏览器与站点建立连接时,会话开始,当客户端关闭浏览器时回话结束。通常只应该把与用户会话状态相关的信息放入session范围内,不要仅仅为了两个页面之间交换信息,就使用session,如果为了两个页面信息页面交换信息,可以将该信息放入request范围,然后forword请求即可。

 

out:

javax.servlet.jsp.JspWriter的实例,该实例代表JSP的输出流,用于输出内容,形成HTML页面。

你可能感兴趣的:(JSP/Servlet)