ITPub博客

首页 > Linux操作系统 > Linux操作系统 > Jsp综合

Jsp综合

原创 Linux操作系统 作者:spritesong 时间:2009-03-30 23:48:58 0 删除 编辑

 
<% @path include file=%>
 
 
JSP基本语法


表达式:

<%= expression %>

表达式的值将直接输出到页面。

<%String hello=”hello world” %>

<%=hello %>

不能用一个分号(";")来作为表达式的结束符,但是同样的表达式用在scriptlet中就需要以分号来结尾。



Scriptlet脚本代码:

<% code fragment %>

它将被插入到JSP所生成的目标Servlet的Service方法中。

一个scriptlet能够包含多个jsp语句,方法,变量,表达式。



声明:

<%!JAVA Code%>

并不产生输出,值时定义了提供调用的方法和变量,因此将其和JSP 表达式与JSP脚本结合使用。



Page 指令

<%@ page

[ language=”java”]

[ extends=”package.class”]

[ import=”{package.class | package.*},….”] 使用逗号(“,”)分割

[session=”true | false”]

[ buffer=”none | 8kb | sizekb”]

[ autoFlush=”true | false”]

[ isThreadSafe=”true | false”]

[ info=”text”]

[ errorPage=”relativeURL”]

[ contentType=”mimeType [ ;charset=characterSet]” | ”text/html;charset=ISO-8859-1”]

[ isErrorPage=”true | false”]

%>

定义JSP文件的全局属性。



Include 指令:

<%@include file=”URL” %>

include指令将会在JSP编译时到入一个包含文本或代码的文件(静态包含)。



JSP 注释:

<!-- 注释[<%=表达式%>]-- > 显式

<% -- 注释 --%> 隐式


指令

}” flush=”true” />

与include 指令不同,指令在JSP 页面被用户请求时才将指定文件的内容插入服务器的响应输出中。


指令



指令能在JSP页面中载入并使用一个JavaBean。




指令

用来设置Bean中的属性值



指令

返回一个已被创建的Bean组件的属性值。



获取Bean的属性值,显示在页面中。



指令

用来把当前的页面重导至另一个页面上,客户端看到的地址是A页面,而实际内容却是B页面的内容。



指令

用来向客户端浏览器插入Java Applet插件来运行(Java小程序)或Bean对象。


JSP 内部对象


request

getParameter(String name)获得客户端传送给服务器端的参数值,该参数由name 指定

getParameterNames()获得客户端传送给服务器端的所有参数名称,结果集是一个Enumeration(类举)类的实例。

getParameterValue(String name)获得指定参数值。



response 重要的对象之一,只有通过它才能响应客户端的请求,向客户端输出信息。


PageContext


session用来在用户之间分别保存用户信息。

session.putValue(value , String name)

session.getParameter(String name)



application 重要的对象之一,一旦创立了application 对象,除非服务器关闭,否则application对象将一直保持

getAttribute(String name) 返回由name指定名称的 application 对象属性的值,这是个 object对象.

SetAttribute(String name, Object value) 用value来初始化某个属性,该属性由name指定



out

out.println()

out.print()

out.newLine()

……


config


exception 处理JSP文件在值在执行时发生的错误和异常。内建3个方法:

getMessage() 返回错误信息。

printStackTrace() 已标准的形式输出一个错误和错误的堆栈。

toString() 以字符串的形式返回一个对异常的描述。



page


JavaBean 组件

定义Bean的属性就必须为其创建访问方法,访问方法就是对组件中定义的属性的访问,包括读和写两种。读:用于取出Bean属性值的取值函数,方法以get 为前缀,并连接首字符为大写的属性名。写:用于设置Bean属性的赋值函数,方法以set为前缀,并连接首字符为大写的属性名。必须将 Bean 属性访问方法的访问权限定义为公有(public)。


数据库连接Bean:


导入JDBC标准类库 import java.sql.*;


注册数据库驱动程序 Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”);


建立数据库连接

Connection conn=DriverManager.getConnection( “jdbcdbc:databaseame”, ”username”, ”password”);

创建stmt 对象,来执行数据库操作(执行SQL指令)

Statememt stmt=conn.createStatememt();


执行数据库操作 stmt.executeQuery(String sql) 返回信息在ResultSet 对象。


关闭数据库 stmt.close(); conn.close();


创建文件应用程序

标准的输入/输出封装在:Java.lang 包。

文件的输入/输出封装在:Java.io 包。

图形的输入/输出封装在:Java.wat 包。

对网络接口的输入/输出封装在:Java.net 包。


文件的输入/输出流

输入对象:FileInputStream bjectname = new FileInputStream(“filename”);

读取数据:read();

输出对象:FileOutputStream bjectname = new FileOutputStream(“filename”);

写入数据:write();

RamdonAccessFile类可利用length()方法和seek()方法实现文件的追加。


转义符: 双引号 \“ ,单引号\’,反斜杠\\,回车\r,换行\n,制表符\t,退格    \b

(URI)根据标签的前缀对自定义的标签进行唯一的命名

URI可以是以下内容
一个相对或绝对的路径 ?
可以是标签库描述文件

prefix="tagPrefix"
 表示标签在JSP中的名称
 

向一个动态文件发送一个或多个参数,这个文件必须是动态文件。如果想传递多个参数,可以在一个JSP文件中使用多个“”;“name”指定参数名,“value”指定参数值。

JSP PLUGN
使用“”插入一个applet或Bean,必要的话还要下载一个Java插件用于执行它。
1.type="bean | applet"
将被执行的插件对象的类型,你必须得指定这个是Bean还是applet,因为这个属性没有缺省值。
?
2.code="classFileName"
将会被Java插件执行的Java Class的名字,必须以.class结尾。这个文件必须存在于codebase属性指定的目录中。
3.codebase="classFileDirectoryName"

将会被执行的Java Class文件的目录(或者是路径),如果你没有提供此属性,那么使用的jsp文件的目录将会被使用。
?
4.name="instanceName"
这个Bean或applet实例的名字,它将会在Jsp其它的地方调用。


“session” 对象代表服务器与客户端所建立的会话,当需要在不同的JSP页面中保留客户信息的情况下使用,比如在线购物、客户轨迹跟踪等。“session” 对象建立在cookie的基础上,所以使用时应注意判断一下客户端是否打开了cookie。常用的方法包括getId、 getValue、 getValueNames和putValue等。

HTTP是无状态(stateless)协议;
Web Server 对每一个客户端请求都没有历史记忆;
Session用来保存客户端状态信息;
由Web Server 写入;
存于客户端;
客户端的每次访问都把上次的session记录传递给Web Server;
Web Server读取客户端提交的session来获取客户端的状态信息;

“application” 对象负责提供应用程序在服务器中运行时的一些全局信息,常用的方法有getMimeType和getRealPath等。

“out” 对象代表了向客户端发送数据的对象,与“response” 对象不同,通过“out” 对象发送的内容将是浏览器需要显示的内容,是文本一级的,可以通过“out” 对象直接向客户端写一个由程序动态生成HTML文件。常用的方法除了pirnt和println之外,还包括clear、clearBuffer、flush、getBufferSize和getRemaining,这是因为“out” 对象内部包含了一个缓冲区,所以需要一些对缓冲区进行操作的方法。


“config” 对象提供一些配置信息,常用的方法有getInitParameter和getInitParameterNames,以获得Servlet初始化时的参数。


“exception” 对象则代表了JSP文件运行时所产生的例外对象,此对象不能在一般JSP文件中直接使用,而只能在使用了“<%@ page isErrorPage="true "%>”的JSP文件中使用

客户端确认
采用javascript进行确认
常用函数
isBetween
isDate
isTime
isDigit
isEmail
isEmpty
isInt
isReal

JSP的汉字问题的原理
客户端和服务器用gb2312
HTTP传输编码用ISO8859_1
服务器需要指示客户端文档的编码方式



JSP中的汉字字符串在服务器端用gb2312
在编译为Servlet时自动转换为iso8859_1
汉字在传输中是正确的
在没有特别指示下,浏览器中无法正确显示

1.在HTML中指示浏览器文档的编码(myJSP\index.html)


2.在JSP中指示JSP引擎文档的编码
<%@ page contentType="text/html;charset=gb2312"%>
每个要显示汉字的JSP文档都应该包含该语句

jsp高级知识:
1).防止jsp或者servlet中的输出不备browser保存在cache中.把如下的脚本假如到jsp文件的开始即可
<%
  response.setHeader("Cache-Control","no-store");
  response.setHeader("Pragma","no-cache");
  response.setDateHeader("Expire",0);//prevents caching at proxy server
%>

2).在jsp中如何设置cookie
<%
  Cookie mycookie = new Cookie("userName","user1");
  response.addcookie(mycookie);
%>

3).在jsp中如何删除一个cookie
<%
  Cookie killMyCookie = new Cookie("mycookie",null);
  killMyCookie.setMaxAge(0);
  killMycookie.setPath("/");
  response.addCookie(killMyCookie);
%>

4).在一个jsp的请求中如何停止jsp的执行
<%
  if (request.getParameter("wen") != null){
    //do sth
  }else
    return;
%>

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/293106/viewspace-582263/,如需转载,请注明出处,否则将追究法律责任。

上一篇: Java线程总结
下一篇: Effective Java Role-1
请登录后发表评论 登录
全部评论

注册时间:2009-03-28

  • 博文量
    62
  • 访问量
    24102