JSP

JSP

1、  页面结构

a)        编译指令:告诉JSP的解释引擎(如Tomcat),需要在编译时做什么动作,比如引入一个其他的类,设置JSP页面使用什么语言编码等;

b)       操作指令:在JSP页面被请求时,动态执行的,比如可以根据某个条件跳转到另外一个页面;

c)       JSP代码:嵌入在JSP页面中的Java代码,写在<% %>中。

2、  编译指令

a)        page:针对当前页面的指令“<%@”和“%>”字符串构成的标记符来指定。

如 :<%@ page import="java.sql.*"%>

指令标记:

1)     language设置JSP页面中用到的语言,默认值为“Java”。

<%@ page language="java"%>

2)     extends 设定目前JSP页面要继承的父类。默认情况下JSP页面的默认父类是HttpJspBase。一般情况下不需要设置。

<%@ pageextends="mypackage.MyClass"%>

3)     import设置目前JSP页面中要用到的Java类。默认情况下java.lang.* ,java.servlet.*,java.servlet.jsp.*和java.servlet.http.*已经被导入到当前的JSP页面。

<%@ pageimport="java.sql.*,java.util.*"%>

4)     errorPage 用来设定档JSP页面出现异常时所要转向的页面。如果没有设定,则JSP容器会用默认的当前网页来显示出错信息。

<%@ pageerrorPage="/error/error_page.jsp"%>

5)     isErrorPage 用来设定当前的JSP页面是否作为传回错误页面的网页,默认值是“false”。如果设定为“true”,JSP容器则会在当前的页面生成一个exception对象。

current_page.jsp

<%@pagelanguage="java"errorPage="error_page.jsp"contentType="text/html;charset=GBK"%>

<%

intdividend = 0;

intdivisor = 0;

intresult = 0;

try {

        result= dividend/divisor;

}catch(ArithmeticException e) {

        throw newArithmeticException("除数不能为零!");

}

%>

error_page.jsp

<%@pagelanguage="java"isErrorPage="true"ContentType="text/html;charset=GBK"%>

当前页面时:error_page.jsp

<%out.print(exception.toString());%>

6)     contentType用来设定传回网页的文件格式和编码方式,一般使用"text/html;charset=GBK"。

7)     isThreadSafe 定义JSP容器执行JSP程序的方式,默认值为 “true”,代表JSP容器会以多线程方式运行JSP页面。当设定值为“false”时,JSP容器会以单线程方式运行JSP页面。

8)     session 定义当前JSP页面中是否要用到session,默认值为“true”。

b)       include指令:指定怎样把另一个文件包含到当前的JSP页面中,这个文件可以是普通文本文件,也可以是一个JSP页面。

如:<%@include file="target_file.jsp"%>

注:include编译指令是在JSP程序的转换时期就将file属性所指定的文件内容嵌入,然后在编译执行,只生成一个class文件,不可以带参数,共享同一个request对象,比较常用。

c)       taglib指令:标记扩展。

3、  操作指令

a)        jsp:include指令:用于当前的JSP页面中加入静态和动态的文件资源。

<jsp:includepage="target_file.jsp"/>

注:include操作指令在转换时期是不会被编译的,只有在客户端请求时期如果被执行到才会被动态的编译载入,产生多个文件,可以带参数,页面之间拥有不同的request对象,可以取得包含它的页面参数,并添加自己的参数,不常用

b)       jsp:forward指令:用于把当前的JSP页面跳转到另一个页面上

c)       jsp:param指令:用于在执行jsp:forward操作时追加参数

<jsp:forwardpage="target_page.jsp">

       <jsp:paramname="param1" value="value1"/>

       <jsp:paramname="param2" value="value2"/>

</jsp:forward>

在target_page.jsp中可以使用request对象来读取这些参数的值。

4、  变量和方法、代码块

<% @ pagecontentType="text/html;charset=GBK"%>

<%! int i = 0;%>

<%

       i++;

       out.print(i);

%>

5、  JSP隐含对象

JSP根据ServletAPI提供了某些隐含对象。可以使用标准的变量来访问这些对象,并且不用编写任何额外的代码,就可以在JSP中自动使用到它。

a)        out:把信息回送到客户端的浏览器中;

b)       resonse:处理服务器端对客户端的响应;

c)       request:用来得到客户端的信息;

d)       application:保存网站的一些全局变量;

e)        session:保存单个用户访问时的一些信息;

f)        cookie:将服务器端的一些信息写到客户端的浏览器中;

g)       pageContext:提供了访问和放置在页面中共享数据的方式。

6、  汉字问题两种解决方法

a)        request.setCharacterEncoding(“GBK”);

b)       newString(request.getParameter("param1").getBytes("ISO-8859-1"),"GB2312");


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值