阿拉丁的神灯
===========================================================
jsp对象的简单介绍
===========================================================
jsp的对象 Out,Request,Session,Application的简单介绍,以及一个计数器的例子,最后是Resign的简单介绍。 适合入门者


1、Out对象

主要用来向客户端输出各种格式的数据,并且管理应用服务器上的输出缓冲区,Out对象的基类是javax.servlet.jsp.JspWriter类。

Out的主要方法:

out.println(DataType);或out.print(DataType);

实例:

<%@page language="java"
contentType="text/html;charset=gb2312"
import="java.util.*"
%>
<HTML>
<HEAD>
<TITLE> out对象使用实例</TITLE>
</HEAD>
<BODY>
<%
out.println(new Date().toLocaleString());
out.print("<BR>");
out.print("测试成功");
%>
</BODY>
</HTML>

2、Request对象

Request.setAttribute()与Request.getAttribute()方法实例(也可以使用forward建立请求关系):

主页面:

<%@page language="java"
contentType="text/html;charset=gb2312"
%>
<%@ include file="1.jsp" %>
你刚才输入的内容是:
<%=request.getAttribute("gr")%>

引入页面:

<%@page language="java"
contentType="text/html;charset=gb2312"
import="java.util.*"
%>
<HTML>
<HEAD>
<TITLE> request对象使用实例</TITLE>
</HEAD>
<BODY>
<%
request.setAttribute("gr","123333");
%>
</FORM>
</BODY>
</HTML>

Request.getParameter()方法实例

主页面

<%@page language="java"
contentType="text/html;charset=gb2312"
import="java.util.*"
%>
<HTML>
<HEAD>
<TITLE> request.getParameter()方法使用实例</TITLE>
</HEAD>
<BODY>
<FORM METHOD=POST ACTION="2.jsp">
<INPUT TYPE="text" NAME="gr1"><BR>
<INPUT TYPE="text" NAME="gr2"><BR>
<INPUT TYPE="text" NAME="gr3"><BR>
<INPUT TYPE="submit" NAME="submit" value="提交">
<INPUT TYPE="reset" NAME="reset" value="清除">
</FORM>
</FORM>
</BODY>
</HTML>

引入页面

<%@page language="java"
contentType="text/html;charset=gb2312"
%>
你刚才输入的内容是:<BR>
<%=request.getParameter("gr1")%><BR>
<%=request.getParameter("gr2")%><BR>
<%=request.getParameter("gr3")%><BR>

Request.getParameterName()方法实例

主页面

<%@page language="java"
contentType="text/html;charset=gb2312"
%>
<HTML>
<HEAD>
<TITLE> request.getParameterName()方法使用实例</TITLE>
</HEAD>
<BODY>
<FORM METHOD=post ACTION="2.jsp">
<INPUT TYPE="text" NAME="gr1"><BR>
<INPUT TYPE="text" NAME="gr2"><BR>
<INPUT TYPE="text" NAME="gr3"><BR>
<INPUT TYPE="submit" value="提交">
<INPUT TYPE="reset" value="清除">
</FORM>
</FORM>
</BODY>
</HTML>

指向页面

<%@page language="java"
contentType="text/html;charset=gb2312"
import="java.util.*"
%>
你刚才输入的内容是:<BR>
<%
Enumeration e=request.getParameterNames();
while(e.hasMoreElements()){
String parameterName=(String)e.nextElement();
String parameterValue=(String)request.getParameter(parameterName);
out.print("参数名称:"+parameterName+"<BR>");
out.print("参数内容:"+parameterValue+"<BR>");
}
%>

Request.getAttributeName()方法实例

主页面:

<%@page language="java"
contentType="text/html;charset=gb2312"
import="java.util.*"
%>
<HTML>
<HEAD>
<TITLE> request.getAttributeName()方法使用实例</TITLE>
</HEAD>
<BODY>
<jsp:include page="2.jsp" flush="true"/>
<%
Enumeration e=request.getAttributeNames();
while(e.hasMoreElements()){
String attributeName=(String)e.nextElement();
String attributeValue=(String)request.getAttribute(attributeName);
out.print("变量名称:"+attributeName);
out.print("变量内容:"+attributeValue+"<BR>");
}
%>
</FORM>
</FORM>
</BODY>
</HTML>


转向页面

<%@page language="java"
contentType="text/html;charset=gb2312"
%>
<%
request.setAttribute("gr1","111");
request.setAttribute("gr2","222");
request.setAttribute("gr3","333");
%>

request.getRemoteAddr()方法实例:

<%@page language="java"
contentType="text/html;charset=gb2312"
%>
<HTML>
<HEAD>
<TITLE> request.getRemoteAddr()方法使用实例</TITLE>
</HEAD>
<BODY>
<B>你的IP地址:</B>
<B><%=request.getRemoteAddr()%></B>
</FORM>
</FORM>
</BODY>
</HTML>

3、Response对象

response.setHeader()方法网页自动刷新实例:

<%@page language="java"
contentType="text/html;charset=gb2312"
import="java.util.*"
%>
<HTML>
<HEAD>
<TITLE> response刷新页面实例</TITLE>
</HEAD>
<BODY>
<%
response.setHeader("refresh","3");
out.println(new Date().toLocaleString());
%>
</BODY>
</HTML>

4、Application对象

在JSP服务器运行时刻,仅有一个Application对象,它由服务器创建,也由服务器自动清除,
不能被用户创建和清除。我们只能创建这个Appliation对象的同步拷贝。

setAttribute(),getAttribute()和removeAttribute()方法实例:

<%@page language="java"
contentType="text/html;charset=gb2312"
%>
<HTML>
<HEAD>
<TITLE> Application对象方法实例</TITLE>
</HEAD>
<BODY>
<%
String username="rossini";
String password="126263";
application.setAttribute("username",username);
application.setAttribute("password",password);
out.println(application.getAttribute("username")+"<BR>");
out.println(application.getAttribute("password")+"<BR>");
application.removeAttribute("password");
out.println(application.getAttribute("password")+"<BR>");
%>
</BODY>
</HTML>

getAttributeNames()方法实例:

<%@page language="java"
contentType="text/html;charset=gb2312"
import="java.util.*"
%>
<HTML>
<HEAD>
<TITLE> Application对象方法实例</TITLE>
</HEAD>
<BODY>
<%
String username="rossini";
String password="126263";

application.setAttribute("username",username);
application.setAttribute("password",password);

Enumeration enum=application.getAttributeNames();
while(enum.hasMoreElements()){
String attrName=(String)enum.nextElement();
out.println(attrName+"----"+application.getAttribute(attrName)+"<BR>");
}

%>
</BODY>
</HTML>


5、Session对象

当用户登陆网站,系统将为他生成一个独一无二的Session对象,用以记录改用户的个人信息
,一旦改用户退出网站,那么该Session对象将会注销。Session对象可以绑定若干个人信息或
者Java对象,不同Session对象的同名变量是不会相互干扰的。

getValue(String name)、putValue(String name)、removeValue(String name)、getValueNames()
、getCreationTime()、getId()、getLastAccessedTime()、getMaxInactiveInterval()、
setMaxInactiveInterval()方法:

主文件:

<%@page language="java"
contentType="text/html;charset=gb2312"
%>
<HTML>
<HEAD>
<TITLE> Session主页面</TITLE>
</HEAD>
<BODY>
<%
String username="rossini";
String password="126263";
session.putValue("username",username);
session.putValue("password",password);
%>
<A HREF="2.jsp">指向第二页</A>
</BODY>
</HTML>

转向页面1

<%@page language="java"
contentType="text/html;charset=gb2312"
%>
<HTML>
<HEAD>
<TITLE> Session转向页面1</TITLE>
</HEAD>
<BODY>
<%
String usr=(String)session.getValue("username");
String pwd=(String)session.getValue("password");
%>
<%=usr%><BR>
<%=pwd%><BR>
<%out.println("session create:"+session.getCreationTime());%><BR>
<%out.println("session id:"+session.getId());%><BR>
<%out.println("session last access:"+session.getLastAccessedTime());%><BR>
<%out.println("session 原来最大休眠时间:"+session.getMaxInactiveInterval());%><BR>
<%session.setMaxInactiveInterval(session.getMaxInactiveInterval()+1);%><BR>
<%out.println("session 最新最大休眠时间:"+session.getMaxInactiveInterval());%><BR
<%
String []name=session.getValueNames();
out.println("--------------"+"<BR>");
for(int i=0;i<name.length;i++)
{
out.println(session.getValue(name[i])+"<BR>");
}
%>
<%
session.removeValue("username");
%>
<A HREF="3.jsp">指向第三页</A>
</BODY>
</HTML>

转向页面2

<%@page language="java"
contentType="text/html;charset=gb2312"
%>
<HTML>
<HEAD>
<TITLE> Session转向页面2</TITLE>
</HEAD>
<BODY>
<%
String usr=(String)session.getValue("username");
String pwd=(String)session.getValue("password");
%>
<%=usr%><BR>
<%=pwd%>
</BODY>
</HTML>

invalidate()方法将会将会清除当前的session对象解除它和任何参数或者JAVA对象的绑定关系

实例略







简单的JSP计数器
实例:

主页面

<%@page language="java"
contentType="text/html;charset=gb2312"
%>
<HTML>
<HEAD>
<TITLE> JSP计数器 </TITLE>
</HEAD>
<BODY>
<div align="center"><font face="黑体" size="10">你是第<jsp:include page="11.jsp" flush="true"/> 位访客</font> </div>
</BODY>
</HTML>

引入页面

<%!protected int count=0;%>
<%=++count%>
JavaBean设计规范及实例
javaBean的设计规范:
一个javaBean类必须是一个公共类
一个javaBean类必须有一个空的构造函数
一个javaBean类不应有公共实例变量
持有值应该通过一组存取方法(getXxx和setXxx)来访问
实例:

package Show;
import java.sql.*;

public class DBconn{
private String sDBDriver="org.gjt.mm.mysql.Driver";
private String sConnStr="jdbc:mysql://10.1.1.79:3306/web?user=root&password=2676141";
private Connection conn=null;
private ResultSet rs=null;

public DBconn(){
try{
Class.forName(sDBDriver);
}
catch(java.lang.ClassNotFoundException e){
System.out.println("DBconn():"+e.getMessage());
}
}

public String getsConnStr(){
return sConnStr;
}

public void setsConnStr(String sConnStr){
this.sConnStr=sConnStr;
}

public void executeUpdate(String sql)throws Exception{
sql=new String(sql.getBytes("GBK"),"ISO8859_1");
try{
conn=DriverManager.getConnection(sConnStr);
Statement stmt=conn.createStatement();
stmt.executeUpdate(sql);
conn.close();
stmt.close();
}
catch(SQLException ex){
System.out.println("sql.executeUpdate:"+ex.getMessage());
}
}
public ResultSet executeQuery(String sql)throws Exception{
rs=null;
try{
sql=new String(sql.getBytes("GBK"),"ISO8859_1");
conn=DriverManager.getConnection(sConnStr);
Statement stmt=conn.createStatement();
rs=stmt.executeQuery(sql);
conn.close();
stmt.close();
}
catch(SQLException ex){
System.out.println("sql.executeQuery:"+ex.getMessage());
}
return rs;
}
}

Resin的使用和安装
Resin的使用和安装(网络文章)

一、Java Web服务器选择简介

在实际进行java Web项目实施的时候,我们可以采用的商业java Web服务器有Ibm WebSphere,Bea Web Logic

。这两种服务器功能齐全而强大,支持所有的java 服务容器标准,适合成品商业java Web应用的发布。但是

这两种服务器是商业服务器,价格昂贵,而且对系统资源要求极高。特别是Websphere 配置复杂,如果不配合

采用ibm Websphere Studio Application非常不适合开发。而且他们不同的版本对servlet.jar等javax组件和

jdk的要求不同。如Websphere 3.5所要求的servlet.jar 支持的是旧版本的javax.servlet.http.HttpSession

操作,不支持session.setAttribute() session.getAttribute()。

在开发或者学习过程中,有许多免费的轻型的Java Web服务器可以供我们选用,如Tomcat,Resin,Orion等等。

他们使用都很方便,占用资源也很少,适合开发中不断的调试;还可以和Jbuilder这样的集成开发工具集成使

用。根据实际开发中的情况来看,Jakata Tomcat 和Sun Java结合的最好,和其他应用服务器配合使用可支持

完整的j2ee标准,应用也很广泛。但是从Java 普遍存在的编码问题来看,还是Resin 解决的最好。还有从使

用的角度讲,个人认为Resin比Tomcat方便,而且Resin也可以结合Jbuilder6等ide使用。Resin强调使用Xml技

术,从Resin自己的HomePage使用xtp就可以看出来。

二、Resin的安装和配置

Resin 可以在 http://www.caucho.com/download/index.xtp 免费下载和使用。使用Resin开发或者学习是免

费的,但是如果把Resin作为收费产品发布是需要付费的。目前的版本是2.10。

下载Resin 时选择Archive Versions 中的 windows.zip的普通安装包resin-2.1.0.zip。

把该zip包解压到任何目录下面,如d: esin。以下介绍都假设Resin安装在d: esin下。进入d: esinin,

键入httpd,可以在命令行控制台下运行Resin服务器。此时弹出一个有start 和stop两个Radio按纽和一close

按纽的对话框。在这里可以看到Resin的运行信息。这些信息同时Resin可以在d: esinlog目录下面的

stdout.log 日志文件中察看到。如:

Resin 2.0.4 (built Thu Nov 15 17:56:24 PST 2001)
Copyright(c) 1998-2001 Caucho Technology. All rights reserved.
Starting Resin on Wed, 23 Jan 2002 14:41:47 +0800 (CST)

http listening to *:80
srun listening to haitaiserver:6802

点选stop,可以停止当前的Resin服务器进程;再点选start,又可以开启新的Resin服务器进程。关闭该对话

框,则回到Command 控制台的盘符提示状态下。如果在nt4或者win2k环境下,需要把Resin当成服务,只需要

在Command控制台的该目录下,键入 httpd ?install,就可以在管理工具的服务下面看到新增了一条Resin

Web Server的自动的服务。以后只要进入nt 4或者win2k,就可以启动Resin服务。该服务也可以像其他服务一

样设置成手动或者禁用状态。注意有的时候在安装完服务后,启动Resin,并不能看到自己写的Resin例程可以

被解析,浏览器显示服务器找不到错误。只要重新启动win2k或者nt,就能解决该问题。

下面简要介绍一下Resin服务器的配置。Resin服务器和大多数Java Web服务器一样,通过一个Xml文件配置。

进入d: esinconf目录,打开resin.conf,这是一个xml格式的文本。

这里面有很多标记,先查找到:<http-server>。在<http-server></http-server>标记对中的配置和resin的

Java Web 服务器有关。找到<app-dir>,在<app-dir></app-dir>标记对中的表示resin的根,相当于Apache的

htdocs 或者 IIS 的wwwroot。Resin自带http服务器,但是也可以不使用它,采用Apache 或者 IIS做http服

务器。这个在下面段落中会提到。

再查找<http port=´8080´/>标记,它可以这样配置<http host=´localhost´ port=´80´/>。host参数指定的

是服务器,port指定的是http端口,默认是localhost和8080。还有<srun host=´localhost´ port=´6802´/>

标记。这个是jsp和java Servlet的引擎配置。一般默认就可以了,除非6802端口已经被别的程序占用了。然

后,配置jdk。这个需要在classpath中设置。右键点击我的电脑,在系统特性的高级标签中,点击环境变量,

在系统变量中新建一个环境变量,变量名为classpath,值为jdk所在的目录;再新建另外一个环境变量,变量

名为path,值为javac.exe和java.exe所在的目录(在jdk所在的目录下面的bin目录下)。一般这样子配置以

后,Resin就可以使用了。在d: esindoc中(假设你的<appdir></appdir>对中的名称是doc,也就是根是

d:/resin/doc,而且你的<http host=´localhost´ port=´80´/>如左配置),随便写一个jsp文件,如可以写

个test.jsp文件,内容为<%=1+2+3%>。然后,在浏览器中,键入http://localhost/test.jsp。如果你可以看

到浏览器显示6,则表示Resin服务器已经可以正常运行了。注意,修改配置后,一般重新启动resin才能看到

变化。

三、Resin使用简介

使用Resin开发Java Web项目时,需要建立自己的WebApp。这里不介绍Resin Cmp/Ejb的开发和使用,只介绍用

Resin开发普通的jspjava servlet项目。在这里还要谈到resin.conf的配置。Resin中的应用可以有2种方式

发布:一是在Resin的目录下发布;二是打包成War发布。

1、在Resin的目录下发布

在resin.conf中查找<web-app>标签,该标签表示一个web应用。

标签中,id属性表示该应用的Web路径。如<web-app id=´/test´>,表示该应用在Web上访问的时候应该用

http://hostname/test/来访问。app-dir属性表示该应用的实际路径。如

<app-dir>d: esindoc est</app-dir>表示该应用在d: esindoc est目录下面。默认值为根下面的和id

同名的目录。Resin可以配置3种error-page:404错误也就是文件找不到错误页;Exception违例页;不能连接

java引擎页。他们分别可以这样子设置。

404文件找不到页

<web-app id=´/app1´>
<error-page error-code=´404´ location=´/file_not_found.jsp´/>
</web-app>

Exception 违例页

<web-app id=´/foo´>
<error-page exception-type=´java.lang.NullPointerException´
location=´/nullpointer.jsp´/>
</web-app>

不能连接到srun Servlet引擎错误页

该页设置和应用无关,属于服务器的设置。

<http-server>
<error-page exception-type=´connection´
location=´/missing_file.html´/>
</http-server>

classpath的设置

参见下面的语句:

<classpath id=´WEB-INF/classes´ source=´WEB-INF/src´ compile=´true´/>

id参数的值表示classpath中编译后的class的存放路径;source参数的值表示classpath中java源代码的存放

路径;compile中的值可能是true或者false,表示是否由Resin的srun自动编译java源代码。Classpath的设置

一般和javaBean或者Servlet的使用有关。id的值表示javaBean的编译好的包存放的根,source的值表示

javaBean的java源代码存放的根。Servlet相同。

Servlet的设置

参见下面的语句:

<servlet-mapping url-pattern=´*.xtp´ servlet-name=´xtp´/>
<servlet-mapping url-pattern=´*.jsp´ servlet-name=´jsp´/>
<servlet-mapping url-pattern=´/servlet/*´ servlet-name=´invoker´/>

一般就是指定那些需要通过srun的解析。比如在这里,把*.jsp改成*.jss,其他不变,那么只要在访问时遇到

*.jss的文件就和原来遇到*.jsp一样处理。通过这个可以指定解析的引擎,如以下的配置:

<servlet-mapping url-pattern=´*.xtp´ servlet-name=´com.caucho.jsp.XtpServlet´/>

在Servlet中,也可以指定servlet。如

<servlet servlet-name=´hello´ servlet-class=´test.HelloWorld´/>
<servlet-mapping url-pattern=´/hello.html´ servlet-name=´hello´/>

在servlet-mapping中有个重要的参数case-sensitive 如果在windows上,最好配置成false,忽略大小写,从

而和windows的约定一致。

Session的配置

参见如下的配置语句:

<session-config>
<session-max>4096</session-max>
<session-timeout>30</session-timeout>
<enable-cookies>true</enable-cookies>
<enable-url-rewriting>true</enable-url-rewriting>
<file-store>WEB-INF/sessions</file-store>
</session-config>

session-max :最大 session数量
session-timeout :session过期时间,以分钟为单位。

是否允许cookie :指session是否采用cookies。如果采用cookies,浏览器必须支持session才能使用,发布

时建议改成false。enable-url-rewriting和enable-cookies一般配合使用。如果enable-cookies是false,

enable-url-rewriting应该设成true比较合适。

file-store :该配置指示服务器是否把session作为文件存放在服务器上。如果把该项注释掉,则在你的

web-app目录下的WEB-Inf/sessions目录不保存序列化后的session对象。Session还有jdbc-store配置,对应

着把session通过jdbc永久保存在数据库中。其实也就是会话变量的序列化后的保存和重新载入的物理实现。
在这里session还支持了多服务器的设置问题,

通过tcp-store参数设置。由于涉及到负载平衡的问题,在这里不详细叙述,只简单写一个例子:

<http-server>

<http id=´a´ port=´80´/>
<srun id=´a´ host=´host-a´ port=´6802´/>

<http id=´b´ port=´80´/>
<srun id=´b´ host=´host-b´ port=´6802´/>

<host id=´´>
<web-app id=´´>

<session-config>
<tcp-store/>
<always-load-session/>
</session-config>
</web-app>
</host>

</http-server>

这个例子表示session是按照tcp ring的方式传递。

temp-dir 的设置

temp-dir指的是应用的临时目录。也就是在javax.servlet.context.tempdir中用到的目录。模认是应用目录

下的WEB-INF mp目录。

以上的设置都可以在<web-app>标签对中设置,控制某个web应用的设置。

2、打包成War发布

以下是介绍对如何在resin下使用已经打包成War的java Web应用进行发布。

其实这个是最简单也是最清晰的良好方法。在j2ee中,所有的项目都打包成ear发布。其中,Web应用打包成

war,ejb应用打包成jar。在resin中,这些都可以直接部署。这里我只对打包成war的Web应用的部署做介绍。

在resin.conf中,查找这个:<war-dir id=´webapps´/>。他表示war文件应该被拷贝的路径。这里指的是相对

于resin的安装路径,如以上的设置表示d: esinwebapps。只要重新启动Resin就可以了。Resin会把该war自

动解包到webapps目录下。你可以在command控制台或者stdout.log中看到类似于

[2002-04-27 09:56:21.680] initializing application http://haitaiserver:8080/rwtest 的语句。这个

表示该Web应用是自动安装的。只要这个应用是符合j2ee标准的Web应用,应该不会有问题。通过如上显示的路

径就可以访问到这个应用。如果你到d: esinwebapps wtest中浏览,你会看到Resin已经为你生成了rwtest

目录,下面是META-INF和WEB-INF还有你自己的JSPservlet 文件和目录。是完全符合j2ee的结构的。你可以

在rwtest目录下建立新的jspservlet,一样可以被编译和解析并运行的。在实际操作中,可以使用Jbuilder

或者 WebSphere等Ide工具进行集成调试和打包,非常的方便。 四、使用Resin进行java Web项目的开发和调试

这里篇幅有限,不可能讲太多,我只对实际中最有用的部分做介绍。

Resin中如果定义了错误页,则出错后最常见的一大串Exception不会被看到,直接跳转到错误页。所以建议开

发中先不设置错误页。jsp错误中最常见的就是Nullpoint Exception,其次是名称的拼写错误。错误也可以在

Resin安装目录下的log目录下的stderr.log中找到。通过对该log文件的分析可以看到很多有用的错误信息。

在调试jsp的时候,如果定义了compile为true,jsp先被翻译成Servlet的java文件,再被编译成class文件。

可以在你自己的work目录中找到该文件。java的名称在Resin中是这样子定义的:原先的jsp文件名前加下划线

,再加上_jsp这个字样。所以在java 应用中的命名不要以_jsp结尾,也不要出现中文名称等字符;其实名称

以_jsp为开头也是不合法的。

关于java对多国语言的支持问题,在Resin中得到了很好的解决。以jsp为例,参考Resin自动生成的java

Servlet文件。只要在任何的jsp文件的最开始处增加:

<% @page contentType="text/html;charset=gb2312" %>

中文问题就解决了。察看生成的Servlet源文件片断:

response.setContentType("text/html;charset=gb2312");
request.setCharacterEncoding("GB2312");

以上为设置字符集

private static byte[] _jsp_string26;
private static byte[] _jsp_string27;

_jsp_string26 = " </table> <table class="type"> <tr> <td>".getBytes("GB2312");
_jsp_string27 = " </td><td> </tr> <!-- <tr> <td> ".getBytes("GB2312");

以上是对页面的显示的编码。其中,getBytes("gb2312")是静态编码,这是Resin为了解决某些环境下还是不

能正常显示而设置的。在Resin的配置文件(/conf/resin.conf)中,可以通过设置<jsp precompile=´true´

static-encoding=´false´ recompile-on-error=´true´/>中的static-encoding属性为true或者false,来控

制是否静态编码。其实在Resin容器的内部,所有的字符都是按照iso-8859-1来处理的。iso-8859-1是一个大

字符集,虽然中文的gb2312和8859在字的定义上有不同,但是编码是包容了gb2312的。按照解决多国语言的方

法,在纯英文平台上用iso-8859-1处理内部编码,而把字符的显示推向客户端的机器。所以这样只要编码是正

确的,在页面上显示中文就不存在问题。Tomcat3.2不方便的地方是Tomcat对数据库的操作中文支持不好,需

要手动在java Bean或者Servlet中硬编码。通过测试,在Resin中完全没有这个问题。Tomcat4.0解决了这个问

题。不过个人习惯来讲还是觉得resin在配置方面方便一些。

在Resin中可以自动解决引入的jar。这个在使用特殊的类或者第三方提供的开发包非常有用。方法非常简单:

只要把该jar或者是zip拷贝到Resin安装目录下的lib目录下面,重新启动Resin,就可以了。如db2用到的

db2java.zip文件,只要轻松拷贝到d: esinlib中就可以了。

Resin提供了对Jbuilder的集成调试。可以到:

http://www.caucho.com/projects/jbuilder/resin-jbuilder.jar免费下载到resin的jbuilder的ide扩展包。

然后,把该包该名成:resin-jbuilder.jar,拷贝到jbuilder6libext目录下。然后,把Resin2.1解包安装

在jbuilder6 esin-2.1目录下,就可以了。打开任何的War项目,在project上点右键,选择properties,选

择Servers标签。在原来的选择框上,就可以看到多了一项Resin2.1。这样子就可以象原来用tomcat一样调试

jspservlet了,而且比Tomcat更方便。调试方法和用Tomcat调试一样。

五、其他问题

使用Resin可以和apache结合使用。也就是利用apache做http服务器,而Resin做srun服务器。可以参考

resinconfsamples目录下的apache.conf。主要就是把 app-dir 设成 /usr/local/apache/htdocs(也就是

apache的root)。同时在apache 中的http.conf也做了相应的设置。Resin还提供了对该过程的自动安装程式

,运行resininsetup,你可以在弹处的对话框中选择apache,这样子就可以了。只要你曾经安装过apache

,resin可以自己找到httpd.conf文件所在的路径。

使用命令行方式启动Resin,如果改动了Resin.conf,Resin会自己重新启动适应新的配置。这个很适合初期安

装时使用。

Resin对数据库缓冲池的支持很好。在这里,它提供了DBPool对缓冲池做了封装。实际使用时,只要在

resin.conf这样配置:

<dbpool.sql>

  <id>ORCL</id>
  <driver>oracle.jdbc.driver.OracleDriver</driver>
  <url>jdbc:oracle:thin:@localhost:1521:SMTH</url>

  <!-- <url>jdbc:oracle:oci8:@SMTH</url> -->

  <user>scott</user>
  <password>tiger</password>

  <max-connections>5</max-connections>

</dbpool.sql>

然后,在你的jsp或者servlet中就可以这样子使用了:

先导入 com.caucho.sql.*包,然后如下直接得到连接:

Connection conn = DBPool.getPool("ORCL").getConnection();

个人建议不要如上使用连接池,还是按照ejb的方法用从Context中直接找到的DataSource对象中得到连接通用

性比较好。代码也很简单:

Context ctx = new InitialContext();
DataSource ds = (DataSource)ctx.lookup(“jdbc/EmployeeDB”);
Connection conn = ds.getConnection();

在Resin中如下配置jdbc就可以了:

<resource-ref>
<res-ref-name>jdbc/EmployeeDB</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<init-param driver-name="com.caucho.jdbc.mysql.Driver"/>
<init-param url="jdbc:mysql_caucho://localhost:3306/test"/>
<init-param user="name"/>
<init-param password="password"/>
<init-param max-connections="20"/>
<init-param max-idle-time="30"/>
</resource-ref>

在Resin中conf中resin.conf中配置默认主页就可以了:

<welcome-file-list>index.jsp, index.html,index.xtp</welcome-file-list>



用Resin Web Server开发还是比较愉快的。只是没有像Weblogic 或者WebSphere那样子提供现成的管理控制台而已。但是从稳定性和方便性来讲,Resin个人认为比Tomcat要好很多。况且Resin还有提供了resin-cmp 和 resin-ejb,功能更强大。

女人的美与男人的心

对一个年轻貌美女孩的追求,很能激发一个男人的进取心

古人云:未见好学如好色者也

真知灼见
JSP标准语法

1、JSP的注释语法:

<%--comments--%>

其中,comments是你可以添加的任意文本注释,但是不能使用“--%>”,
如果非使用不可,请用“--%\>”

实例:
<%--
FileName:helloworld.jsp
Author:rossini
Date:2004-1-29
Note:显示一个"Hello World!"信息
--%>
<html>
<head>
<title>JavaServer Pages Sample-Hello World!</title>
</head>
<body>
<%
out.print("Hello World!");
%>
</body>
</html>

2、JSP的声明语法:

<%!declarations;... ;%>

(a)在JSP中使用到的变量和函数必须事先声明,并以分号“;”结尾
(b)在JSP声明中允许一次声明多个变量
(c)在JSP声明中,不但可以声明变量,还可以声明函数或者自定义类
(d)你可以直接使用在include编译指令中被包含进来的已经声明的变量
和方法,不能在当前的JSP程序中对它们进行重新进行声明;JSP声
明的作用范围是页面层的,一个声明只在一个页面有效;如果想在
每个页面都使用一些声明,最好把他们写在一个单独文件里面,然
后用include编译指令或者是<jsp:include>操作指令包含进来

实例:
<html>
<head>
<title>JavaServer Pages Sample-Declarations</title>
</head>
<body>
<%!String msg="变量声明";%>
<H1><%=msg%></H1>
</body>
</html>

3、JSP表达式语法:

<%=JAVA表达式%>

JAVA表达式是一个值,转换成字符串后插入到页面中,不能用分号(;)
来作为JAVA表达式的结束符。一个表达式可以变的很复杂,它可能由
多个合法的JAVA表达式组成,这些表达式执行顺序是从左到右。如果
一个表达式的结果不能转化为String类型,将会导致错误发生。

实例:
<html>
<head>
<title>JavaServer Pages Sample-Declarations</title>
</head>
<body>
<%!String msg="变量声明";%>
<H1><%=msg%></H1>
</body>
</html>

4、JSP程序段语法:

<% 程序段%>

(a)程序段中只能包含合法的JAVA语法的代码,不允许出现HTML标记,
JSP标记,JSP指令等元素。但是可以使用“<%”,“%>”标记,交错
使用JAVA代码、HTML标记。
(b)程序段中对变量的声明最好进行初始化,否则有些服务器可能会出错。

实例:
<html>
<head>
<title>JavaServer Pages Sample-dribs and drabs</title>
</head>
<body>
<%
String words="welcome!";
int font_size=0;
for(int i=0;i<8;i++){
%>
<FONT SIZE=<%=++font_size%>><%=words.charAt(i)%></FONT>
<%
}
%>
</body>
</html>

5、JSP编译指令PAGE:

<%@ page
language="java" //指出使用的语言是JAVA,这既是缺省的又是唯一合法选项
import="package.class1,...,package.classN" // 用于引入程序中需要使用的JAVA
//程序包,多个包之间用逗号分割
contentType="text/html;charset=gb2312" //制定输出的MIME类型
errorPage="URL" //指定一个JSP页面来处理任何当前页面并未处理的意外错误
isErrorPage="true | false" //该属性指示当前页面是否可以作为其他页面的错误处理
//页面,默认值false
isThreadSafe="true | false" //值为false表示Serverlet以单线程模式工作,值为true表示
//多个请求被一个Serverlet并行处理,默认值true
session="true | false" //true表示session可用,false表示session不可用
buffer="size | none" //确定out对象输出缓冲大小,默认大小为8KB
autoflash="true | false" //默认值为true,表示当缓冲满时将自动清空
extends="package.class" //指出将要生成的serverlet使用哪个超类
info="message" //定义当前JSP文件的一些相关信息,如作者,功能描述等
%>

实例:
<%@ page language="java"
import="java.util.*"
contentType="text/html;charset=gb2312"
%>
<html>
<head>
<title>JavaServer Pages Sample-Page你好</title>
</head>
<body>
<%=(new Date()).toLocaleString()%>
</body>
</html>

6、JSP编译指令INCLUDE:

<%@ include file="relativeURL" %>

include指令用于在JSP文件转换成Serverlet时引入一个静态文件,这个文件可以是JSP
和HTML以及文本文件等。许多网站的每个页面都有一个同样的导航条,为了避免重复
,可以单独编写一个页面来描述这个导航条,然后利用include指令把这个文件包含在
每个主页面里。不过这种方法有一个缺点,因为这个导航条是在页面被编译时插入的
,如果导航条改变了,那么每个包含这个导航条的页面都必须重新编译。因此,如果
导航条经常改变,应该使用jsp:include动作来实现。

实例:

主文件(index.jsp)

<html>
<head>
<title>JavaServer Pages Sample-include</title>
</head>
<%@ page language="java"
contentType="text/html;charset=gb2312"
%>
<body>
<H1>当前时间</H1>
<%@ include file="time.html"%>
</body>
</html>

引入文件(time.html)

<%=(new java.util.Date().toLocaleString())%>

7、JSP操作指令INCLUDE(此操作指令的中文参数传入问题还没有解决):

<jsp:include page="relativeURL | <%=expression%>" flush="true"/> 或者

<jsp:include page="relativeURL | <%=expression%>" flush="true">
<jsp:param name="parameterName" value="parameterValue | <%=expression%>"/>
</jsp:include>

include动作的目的是把其他文件的正文插入到这个程序中来,在一定程度上重用代码,过度使
用会降低执行效率。前面已经介绍过include指令,它是在jsp文件被编译时引入文件,当被引入
文件做过修改,也不需要重新编译主jsp文件。

page="relativeURL | <%=expression%>" 指定需要包含文件的相对路径,可以使用jsp表达式
动态生成需要包含文件的相对路径。

flush="true" 此属性的值必须为true。

<jsp:param name="parameterName" value="parameterValue | <%=expression%>"/> 能为
引入文件传递参数。

实例:

主页面

<%@ page language="java"
contentType="text/html;charset=gb2312"
%>
<html>
<head>
<title>Include Actions</title>
</head>
<body>
<H1>带参数引入页面</H1>
<jsp:include page="11.jsp" flush="true">
<jsp:param name="gr1" value="aaabbb"/>
<jsp:param name="gr2" value="rossini"/>
</jsp:include>
</body>
</html>

引入页面

<%
String gr1=request.getParameter("gr1");
String gr2=request.getParameter("gr2");
out.print(gr1);
out.print(gr2);
%>

8、JSP操作指令FORWARD:

<jsp:forward page="relativeURL | <%=expression%>"/> 或者

<jsp:forward page="relativeURL | <%=expression%>">
<jsp:param name="parameterName" value="parameterValue | <%=expression%>"/>
</jsp:forward>

改动作把请求转到另外的页面,</jsp:forward>后面的代码将不能执行,因为已经转到其他
页面上去了,所以后面的代码不会被执行的。

实例:

主页面

<%@ page language="java"
contentType="text/html;charset=gb2312"
%>
<html>
<head>
<title>Forward Actions</title>
</head>
<body>
<jsp:forward page="11.jsp">
<jsp:param name="gr1" value="rossini"/>
<jsp:param name="gr2" value="126263"/>
</jsp:forward>
</body>
</html>

转到页面

<%
String gr1=request.getParameter("gr1");
String gr2=request.getParameter("gr2");
out.print(gr1+"#");
out.print(gr2);
%>

9、JSP操作指令PLUGIN

<jsp:plugin
type="bean | applet"
code="classFileName"
codebase="classFileDirectoryName"

name="instanceName"
archive="URIToArchive,..."
align="bottom | top | middle | left | right"
height="displayPixels"
width="displayPixels"
hspace="leftRightPixels"
vspace="bottomTopPixels"
jreversion="JREVersionNumber | 1.1"
nspluginurl="URLToPlugin"
iepluginurl="URLToPlugin" >

<jsp:params>
<jsp:param name="parameterName" value="paramValue | <%=expression%>"/>
</jsp:params>

<jsp:fallback> text massage for user </jsp:fallback>

</jsp:plugin>

jsp:plugin动作用来根据浏览器的类型,插入通过java插件运行Applet所必须的OBJECT
或embed元素。

type="bean | applet"插件将执行的对象类型,用户必须在Bean和Aplet中指定一个。
code="classFileName"插件将执行的java类文件名称,在名称中必须包含扩展名。
codebase="classFileDirectoryName"插件将执行的java类文件的路径,默认与JSP文件
在同一个文件夹下
name="instanceName"Bean或Applet的实例名称,使得被同一个JSP文件调用的Bean或
Applet之间的通信成为可能
archive="URIToArchive,..."以逗号分隔的路径名列表,这些路径名用于预装一些将要使用
的class,这会提高applet的性能。


实例:

<%@ page
language="java"
contentType="text/html;charset=gb2312"
%>
<html>
<title>Plugin 实例</title>
<body bgcolor="white">
<h3> 当前的时间是 : </h3>
<jsp:plugin
type="applet"
code="Clock2.class"
codebase="/guorui"
name="time1"
jreversion="1.2"
width="160"
height="150" >
<jsp:fallback>
Plugin tag OBJECT or EMBED not supported by browser.
</jsp:fallback>
</jsp:plugin>
</body>
</html>

10、jsp:useBean操作指令:

<jsp:useBean id="beanInstanceName" scope="page | request | session | application" class="package.class"/>

该动作用来装载一个将在JSP页面中使用的JavaBean,其含义是创建一个package.class的
实例,然后把它绑定到变量ID上,并使用scope定义Bean的作用范围。

获得Bean的实例之后,要修改或获取Bean的属性就变得很重要

<jsp:setProperty name="beanInstanceName"
property="*" | property="propertyName" | property="propertyName" param="paramName" |
property="propertyName" value="string | <%=expression%>"/>

如果property的值是"*",表示所有名字和Bean属性名字匹配的请求中的参数都将传递给相应属性的set()
方法。
如果property的值是"propertyName",表示所有名字和Bean的propertyName属性名字匹配的请求中的参数都将传递给propertyName属性的set()方法。
如果使用property="propertyName" param="paramName"方式,则用指定的请求参数作为Bean指定属性
的值。

<jsp:getProperty name="beanInstanceName" property="propertyName"/>

这个动作提取指定bean属性的值,转换成字符串然后输出。

实例:

主页面:

<%@page language="java"
contentType="text/html;charset=gb2312"
%>
<%!private int aa=0;%>
<HTML>
<HEAD>
<TITLE> JavaBean使用实例 </TITLE>
</HEAD>
<BODY>
<jsp:useBean id="test" scope="page" class="test.testBean"/>
1输入变量值:
<jsp:setProperty name="test" property="test1"/>
<form method="get">
<input type="text" name="test1" size="25">
<input type="submit" value="确定">
<input type="reset" value="清除">
<P>
你刚才输入的内容是:
<jsp:getProperty name="test" property="test1"/>
<P>
2输入变量值:
<jsp:setProperty name="test" property="*"/>
<form method="get">
<input type="text" name="test2" size="25">
<input type="submit" value="确定">
<input type="reset" value="清除">
<P>
你刚才输入的内容是:
<jsp:getProperty name="test" property="test2"/>
<P>
3输入变量值:
<jsp:setProperty name="test" property="test3" param="guorui"/>
<form method="get">
<input type="text" name="guorui" size="25">
<input type="submit" value="确定">
<input type="reset" value="清除">
<P>
你刚才输入的内容是:
<jsp:getProperty name="test" property="test3"/>
<P>
<jsp:setProperty name="test" property="count" value="<%=++aa%>"/>
你登陆的次数是:
<jsp:getProperty name="test" property="count"/>
</BODY>
</HTML>

JavaBean源码:

package test;

public class testBean{
private String test1="呵呵,还没有输入内容呢!!";
private String test2="嘻嘻,还没有输入内容呢!!";
private String test3="嘿嘿,还没有输入内容呢!!";
private String test4="哈哈,还没有输入内容呢!!";
private int count=0;

public testBean(){}

public void setCount(int s){
this.count=s;
}
public int getCount(){
return this.count;
}

public void setTest1(String s){
this.test1=s;
}
public String getTest1(){
return this.test1;
}

public void setTest2(String s){
this.test2=s;
}
public String getTest2(){
return this.test2;
}

public void setTest3(String s){
this.test3=s;
}
public String getTest3(){
return this.test3;
}

public void setTest4(String s){
this.test4=s;
}
public String getTest4(){
return this.test4;
}
}
zzw0598 发表于:2005.04.01 09:35 ::分类: ( java开发 ) ::阅读:(59018次) :: 评论 (57)
[url=][/url] [回复]

[url=][/url]

ajhum 评论于: 2008.01.02 20:16
hmm... [url=][/url] [url=][/url] [url=][/url] [url=][/url] ... [回复]

hmm...
[url=][/url]
[url=][/url]
[url=][/url]
[url=][/url] ...

nolj 评论于: 2008.02.20 00:29
downloads of ringtones ringtones downloads [回复]

this.value

Googlegs 评论于: 2008.04.20 18:15
sexy black breast homosexuel [回复]

this.value

tJZggDXsdcwEr 评论于: 2008.08.12 01:55
If You want to delete your site from my base [回复]

to: Admin - If You want to delete your site from my spam list, please sent url of your domain to my e-mail: stop.spam.today@gmail.com
And I will remove your site from my base within 24 hours
webmastegz

integoatopype 评论于: 2008.11.17 12:55
re: jsp对象的简单介绍 [回复]

[url=http://www.tvlinkvault.com/forums/profile.php?mode=viewprofile&u=82000]Remko[/url]
Science and art have that in common that everyday things seem to them new and attractive
foliposterhus

foliposterhus 评论于: 2009.04.16 08:15
60 chevrolet for sale 4x4 [回复]

[url=http://tsdna6gt.hostevo.com/60_chevrolet_for_sale_4x4.html]60 chevrolet for sale 4x4[/url]
No honest man will argue on every side
voldonmartek

voldonmartek 评论于: 2009.04.22 02:34
chevrolet chevelles project car for sale [回复]

[url=http://q88yfltjqj.hostevo.com/chevrolet_chevelles_project_car_for_sale.html]chevrolet chevelles project car for sale[/url]
Silence is one of the hardest arguments to refute.
jokilpatis

jokilpatis 评论于: 2009.04.22 05:19
trucks dodge trader classic [回复]

[url=http://th9j7h0lqq.007sites.com/trucks_dodge_trader_classic.html]trucks dodge trader classic[/url]
He doesn't make sense. I don't make sense. Together we make sense.
liliportus

liliportus 评论于: 2009.04.22 07:53
It's for any zzw0598.itpub.net visitors... [回复]

This site is very cool throughout the Internet by a hot girl [url=http://king-xxx.blogspot.com/][color=red][b]Clik[/b][/color][/url]

dabcofsabomia 评论于: 2009.04.29 03:11
charisma carpenter nude [回复]

charisma carpenter nude [url=http://virusvn.com/forum/member.php?u=2695]charisma carpenter nude[/url] harry potter nude [url=http://www.cccamforum.com/forums/member.php?u=6738]harry potter nude[/url] vanessa williams nude [url=http://www.necrotalk.com/member.php?u=7760]vanessa williams nude[/url] nude schoolgirls [url=http://forum.cyberpuck.com/member.php?u=1628]nude schoolgirls[/url] carla gugino nude [url=http://www.wordpressrepublik.com/member.php?u=990]carla gugino nude[/url] jessica beil nude [url=http://www.colymore.es/member.php?u=505]jessica beil nude[/url] vanessa anne hudgens nude photos [url=http://www.dulce-paraiso.com/foro/member.php?u=6384]vanessa anne hudgens nude photos[/url] heidi klum nude [url=http://www.flashgamesforums.com/member.php?u=15552]heidi klum nude[/url] nude recreation [url=http://www.heroesofivalice.net/member.php?u=11974]nude recreation[/url] sharon stone nude [url=http://www.skysworld.info/bull/member.php?u=2034]sharon stone nude[/url]

charisma carpenter nude 评论于: 2009.07.04 06:24
re: jsp??????????????????????????? [回复]

Victoria Beckham foto foto Victoria Beckham Beckham gallery Victoria Beckham gallery Victoria Beckham Victoria Victoria Beckham Beckham boob Victoria Beckham boob Victoria Bekham katie holmes Victoria katie holmes Bekham Victoria bikini Victoria Beckham Beckham bikini Victoria

Sexy 评论于: 2009.07.04 08:18
re: jsp??????????????????????????? [回复]

Victoria Beckham foto foto Victoria Beckham Beckham gallery Victoria Beckham gallery Victoria Beckham Victoria Victoria Beckham Beckham boob Victoria Beckham boob Victoria Bekham katie holmes Victoria katie holmes Bekham Victoria bikini Victoria Beckham Beckham bikini Victoria

Sexy 评论于: 2009.07.04 08:18
7kaol3eger 7hamw 3lfbk [回复]

http://lipfreddy.blackapplehost.com/breathing-room-movie.html breathing room movie, [url=http://lipfreddy.blackapplehost.com/breathing-room-movie.html]breathing room movie[/url] 5rmwe, http://lipfreddy.blackapplehost.com/clerks-2-mp4.html clerks 2 mp4, [url=http://lipfreddy.blackapplehost.com/clerks-2-mp4.html]clerks 2 mp4[/url] 7uymk, http://lipfreddy.blackapplehost.com/uncle-buck-video.html uncle buck video, [url=http://lipfreddy.blackapplehost.com/uncle-buck-video.html]uncle buck video[/url] 4axwn, http://lipfreddy.blackapplehost.com/spencers-mountain-movie.html spencers mountain movie, [url=http://lipfreddy.blackapplehost.com/spencers-mountain-movie.html]spencers mountain movie[/url] 2tans, http://lipfreddy.blackapplehost.com/cool-hand-luke-audio.html cool hand luke audio, [url=http://lipfreddy.blackapplehost.com/cool-hand-luke-audio.html]cool hand luke audio[/url] 1fevb, http://lipfreddy.blackapplehost.com/diamond-movie-2006.html diamond movie 2006, [url=http://lipfreddy.blackapplehost.com/diamond-movie-2006.html]diamond movie 2006[/url] 6qluv, http://lipfreddy.blackapplehost.com/goal-ii-living-the-dream-dvd.html goal ii living the dream dvd, [url=http://lipfreddy.blackapplehost.com/goal-ii-living-the-dream-dvd.html]goal ii living the dream dvd[/url] 4fmlf, http://lipfreddy.blackapplehost.com/science-movie-download.html science movie download, [url=http://lipfreddy.blackapplehost.com/science-movie-download.html]science movie download[/url] 4leoy, http://lipfreddy.blackapplehost.com/tuscan-sun-download.html tuscan sun download, [url=http://lipfreddy.blackapplehost.com/tuscan-sun-download.html]tuscan sun download[/url] 5yalb, http://lipfreddy.blackapplehost.com/movie-downloads-dvd.html movie downloads dvd, [url=http://lipfreddy.blackapplehost.com/movie-downloads-dvd.html]movie downloads dvd[/url] 9nwfe,

WocaillaPluck 评论于: 2009.07.04 08:29
See Free Clips 9ozjck [回复]

[url=http://jonnymilok.blackapplehost.com/index4.html]the movie dvd download[/url] 2xpp,
[url=http://jonnymilok.blackapplehost.com/vice-movie-download.html]vice movie download[/url] 7kob,
[url=http://jonnymilok.blackapplehost.com/prince-of-egypt-the-movie.html]prince of egypt the movie[/url] 1euw,
[url=http://jonnymilok.blackapplehost.com/to-guantanamo-imdb.html]to guantanamo imdb[/url] 4aqu,
[url=http://jonnymilok.blackapplehost.com/disturbia-movie-summary.html]disturbia movie summary[/url] 9syh,
[url=http://jonnymilok.blackapplehost.com/war--peace-movie.html]war & peace movie[/url] 8ulx,
[url=http://jonnymilok.blackapplehost.com/ok-corral-movie.html]ok corral movie[/url] 1vsm,
[url=http://jonnymilok.blackapplehost.com/index15.html]download abbott and costello[/url] 7icp,
[url=http://jonnymilok.blackapplehost.com/of-the-locust-the.html]of the locust the[/url] 0jjp,

omiceseajence 评论于: 2009.07.04 08:41
all about me [回复]

[url=http://www.folkd.com/user/buyklonopinonline] Buy Klonopin Online[/url]
[url=http://www.folkd.com/user/buyklonopinonline] Buy Klonopin[/url]
http://www.folkd.com/user/buyklonopinonline
[url=http://www.folkd.com/user/buyreductil] Buy Reductil[/url]
[url=http://www.folkd.com/user/buyreductil] Buy Reductil Online[/url]
http://www.folkd.com/user/buyreductil
[url=http://www.folkd.com/user/buyzolpidem] Buy Zolpidem[/url]
[url=http://www.folkd.com/user/buyzolpidem] Buy Zolpidem Online[/url]
http://www.folkd.com/user/buyzolpidem
[url=http://www.folkd.com/user/buymodafinil] Buy Modafinil[/url]
[url=http://www.folkd.com/user/buymodafinil] Buy Modafinil Online[/url]
[url=http://www.folkd.com/user/buymodafinil] Buy Provigil[/url]
[url=http://www.folkd.com/user/buymodafinil] Buy Provigil Online[/url]
http://www.folkd.com/user/buymodafinil

Mayodypypoxia 评论于: 2009.07.04 09:50
Comment6, Generic Levitra, GRYtM, Buy Cialis, rlhsZ, Propecia, 6rAGU, Buy Viagra Online, R0n7T, Buy Cialis, R5VDn, Generic Levitra, qALUY. [回复]

Comment6, Generic Levitra, GRYtM, Buy Cialis, rlhsZ, Propecia, 6rAGU, Buy Viagra Online, R0n7T, Buy Cialis, R5VDn, Generic Levitra, qALUY.

Generic Levitra 评论于: 2009.07.04 09:57
Tramadol [回复]

I like your work!, Ambien, =OOO, Cheap Klonopin, 203, Cialis, 717, Cheap Xanax, sqbs, Alprazolam, =OO,

Tramadol 评论于: 2009.07.04 10:01
gay guys kissing [回复]

Hello smile [url=http://www.aandenslag.nl/forums/member.php?u=814 ]gay boy[/url] or [url=http://www.zonesforum.com/member.php?u=17950 ]teen gay boy[/url] or [url=http://www.hindishayari.in/shayari/member.php?u=13338 ]gay cock sucking[/url]

gayincestsex 评论于: 2009.07.04 10:23
gay fuck vids [回复]

Hi smile [url=http://www.gsmer.net/member.php?u=224805 ]gay anal fisting[/url] or [url=http://www.taidanh.com/forum/member.php?u=2179 ]gay blowjob[/url] and [url=http://tailieuduhoc.org/forum/member.php?u=41333 ]gay teen[/url]

gayguyskissing 评论于: 2009.07.04 10:23
jenna fischer nude [回复]

jenna fischer nude [url=http://www.mywhizzo.com/site/member.php?u=18505]jenna fischer nude[/url] jennifer tilly nude [url=http://www.wiitag.net/forum/member.php?u=351]jennifer tilly nude[/url] kendra wilkinson nude [url=http://www.gradschoolforum.com/member.php?u=9096]kendra wilkinson nude[/url] wwe divas nude [url=http://www.ratrodsrule.com/forum/member.php?u=4179]wwe divas nude[/url] emma watson nude [url=http://www.gratuit-jeu.com/member.php?u=555]emma watson nude[/url] torrie wilson nude [url=http://forums.eternion-wow.com/member.php?u=17963]torrie wilson nude[/url] eva mendes nude [url=http://www.buellforums.com/forum/member.php?u=3311]eva mendes nude[/url] avril lavigne nude [url=http://www.paydayloanhell.com/member.php?u=5074]avril lavigne nude[/url] hilary duff nude [url=http://kymco.or.id/member.php?u=2381]hilary duff nude[/url]

jenna fischer nude 评论于: 2009.07.04 10:26
Comment4, Propecia, F1pyM, Generic Levitra, RB3Sp, Buy Cialis, SVfkAz, Buy Viagra, KE5XL, Buy Cialis, UHSq7, Buy Levitra, QCcil. [回复]

Comment4, Propecia, F1pyM, Generic Levitra, RB3Sp, Buy Cialis, SVfkAz, Buy Viagra, KE5XL, Buy Cialis, UHSq7, Buy Levitra, QCcil.

Buy Levitra 评论于: 2009.07.04 10:34
Comment4, Levitra, TOlmx, Cialis, Zb8gK, Buy Generic Propecia, 7mj3Y, Propecia, rNshH, Cialis, JhWLg, Buy Viagra Online, cQA7C. [回复]

Comment4, Levitra, TOlmx, Cialis, Zb8gK, Buy Generic Propecia, 7mj3Y, Propecia, rNshH, Cialis, JhWLg, Buy Viagra Online, cQA7C.

Levitra 评论于: 2009.07.04 10:46
Comment5, Buy Propecia, rTHcw, Generic Propecia, dwXBm, Buy Viagra Online, ViZJV, Buy Cialis, pRnNJ, Buy Viagra, N5GIj, Generic Levitra, 51Fpf. [回复]

Comment5, Buy Propecia, rTHcw, Generic Propecia, dwXBm, Buy Viagra Online, ViZJV, Buy Cialis, pRnNJ, Buy Viagra, N5GIj, Generic Levitra, 51Fpf.

Levitra 评论于: 2009.07.04 10:51
Buy Klonopin [回复]

Good job., Buy Ambien, ihfk, Cheap viagra, =DD, Buy Xanax, 24058, comprare kamagra, ixuile, Phentermine
, 0517,

Buy Klonopin 评论于: 2009.07.04 11:00
, youporn, 8749, [回复]

, youporn, 8749,

tube8 评论于: 2009.07.04 11:26
, pornhub, ugtuqg, [回复]

, pornhub, ugtuqg,

tube8 评论于: 2009.07.04 11:26
, xhamster, qjsao, [回复]

, xhamster, qjsao,

porntube 评论于: 2009.07.04 11:26
, xnxx, 316234, [回复]

, xnxx, 316234,

tube8 评论于: 2009.07.04 11:26
, xvideos, brqabj, [回复]

, xvideos, brqabj,

xvideos 评论于: 2009.07.04 11:26
, xnxx, fmv, [回复]

, xnxx, fmv,

xnxx 评论于: 2009.07.04 11:27
, pornhub, 931600, [回复]

, pornhub, 931600,

porntube 评论于: 2009.07.04 11:27
, youporn, 980560, [回复]

, youporn, 980560,

pornhub 评论于: 2009.07.04 11:27
, youporn, 980560, [回复]

, youporn, 980560,

pornhub 评论于: 2009.07.04 11:28
, pornhub, tkp, [回复]

, pornhub, tkp,

youporn 评论于: 2009.07.04 11:28
, porntube, qwx, [回复]

, porntube, qwx,

xnxx 评论于: 2009.07.04 11:28
Comment1, Viagra, uAshI0, Propecia, XWrDJ, Buy Generic Levitra, UvTJc, Buy Viagra Online, TkppQ, Generic Levitra, pRkBp, Cialis, pJrB6. [回复]

Comment1, Viagra, uAshI0, Propecia, XWrDJ, Buy Generic Levitra, UvTJc, Buy Viagra Online, TkppQ, Generic Levitra, pRkBp, Cialis, pJrB6.

Generic Levitra 评论于: 2009.07.04 11:28
Cheap Ativan [回复]

Your Site Is Great!, Diazepam, %OO, Klonopin, emuz, Ativan, syh, comprare kamagra, 367, Adipex, 9543,

Cheap Ativan 评论于: 2009.07.04 11:59
Comment4, Buy Viagra Online, TPYAF, Buy Levitra, Ksp2RU, Cialis, K9USk, Buy Cialis, 8rAGX, Buy Propecia, hDq0n, Viagra, watQS. [回复]

Comment4, Buy Viagra Online, TPYAF, Buy Levitra, Ksp2RU, Cialis, K9USk, Buy Cialis, 8rAGX, Buy Propecia, hDq0n, Viagra, watQS.

Buy Cialis 评论于: 2009.07.04 12:17
Comment5, Cialis, zIo6q, Buy Viagra Online, g6KKZf, Buy Avodart Online, nBRCGp, Buy Levitra, kxQjh, Buy Generic Propecia, NNEap4, Cialis, GEQoY. [回复]

Comment5, Cialis, zIo6q, Buy Viagra Online, g6KKZf, Buy Avodart Online, nBRCGp, Buy Levitra, kxQjh, Buy Generic Propecia, NNEap4, Cialis, GEQoY.

Viagra 评论于: 2009.07.04 12:27
Comment3, Buy Generic Propecia, WVoAj, Buy Viagra Online, Dy1lV, Cialis, hYXyV, Buy Viagra Online, Sgtdsk, Cialis, R0z9S, Buy Levitra, M067X. [回复]

Comment3, Buy Generic Propecia, WVoAj, Buy Viagra Online, Dy1lV, Cialis, hYXyV, Buy Viagra Online, Sgtdsk, Cialis, R0z9S, Buy Levitra, M067X.

Generic Levitra 评论于: 2009.07.04 12:36
Comment3, Buy Viagra, YZ8Po, Buy Propecia, 0PFFH, Buy Viagra Online, MhB9Q, Cialis, wtcRr, Buy Avodart, PWf7y, Levitra, 154Sd. [回复]

Comment3, Buy Viagra, YZ8Po, Buy Propecia, 0PFFH, Buy Viagra Online, MhB9Q, Cialis, wtcRr, Buy Avodart, PWf7y, Levitra, 154Sd.

Viagra 评论于: 2009.07.04 12:42
Buy Cigarettes [回复]

Best Wishes!, Buy Klonopin, >:PP, Cheap viagra, naa, Buy Viagra, wbqop, Cheap Ativan, 073829, Phentermine
, 8-OOO,

Buy Cigarettes 评论于: 2009.07.04 12:58
Comment8, Buy Cialis, IOXbmS, Buy Cialis, a3B5i, Generic Levitra, rbaHr, Buy Generic Propecia, P0X8m, Buy Viagra Online, KseJr, Generic Propecia, nxIzq. [回复]

Comment8, Buy Cialis, IOXbmS, Buy Cialis, a3B5i, Generic Levitra, rbaHr, Buy Generic Propecia, P0X8m, Buy Viagra Online, KseJr, Generic Propecia, nxIzq.

Generic Cialis 评论于: 2009.07.04 13:04
, nudetube, 08784, [回复]

, nudetube, 08784,

ro89 评论于: 2009.07.04 13:21
, yuvutu, 716920, [回复]

, yuvutu, 716920,

redtube 评论于: 2009.07.04 13:21
, utube, pdn, [回复]

, utube, pdn,

literotica 评论于: 2009.07.04 13:21
, youjizz, 51484, [回复]

, youjizz, 51484,

tube8 评论于: 2009.07.04 13:21
, spankwire, 8DD, [回复]

, spankwire, 8DD,

nudetube 评论于: 2009.07.04 13:21
, keezmovies, 023975, [回复]

, keezmovies, 023975,

xtube 评论于: 2009.07.04 13:21
, xvideos, hcurcl, [回复]

, xvideos, hcurcl,

redtube 评论于: 2009.07.04 13:21
, ampland, 514905, [回复]

, ampland, 514905,

xtube 评论于: 2009.07.04 13:22
, youjizz, 3271, [回复]

, youjizz, 3271,

pichunter 评论于: 2009.07.04 13:22
, pichunter, rlyryv, [回复]

, pichunter, rlyryv,

xvideos 评论于: 2009.07.04 13:22
re: jsp??????????????????????????? [回复]

sceen Jennifer Aniston sex sex Jennifer Aniston sceen in Jennifer Aniston the sex city Jennifer Aniston city sex the in hardcore Aniston porn Jennifer Jennifer Aniston hardcore porn Aniston scene sex Jennifer sex scene Jennifer Aniston watch free Jenifer Aniston sex tape watch free Jenifer Aniston sex tape

Jennifer 评论于: 2009.07.04 13:31
re: jsp??????????????????????????? [回复]

sceen Jennifer Aniston sex sex Jennifer Aniston sceen in Jennifer Aniston the sex city Jennifer Aniston city sex the in hardcore Aniston porn Jennifer Jennifer Aniston hardcore porn Aniston scene sex Jennifer sex scene Jennifer Aniston watch free Jenifer Aniston sex tape watch free Jenifer Aniston sex tape

Jennifer 评论于: 2009.07.04 13:32
Comment4, Generic Propecia, C08Ua, Generic Cialis, lY5W3, Buy Propecia, EKbMr, Generic Cialis, qjLud, Buy Levitra, z3KpF, Generic Levitra, z4VGY. [回复]

Comment4, Generic Propecia, C08Ua, Generic Cialis, lY5W3, Buy Propecia, EKbMr, Generic Cialis, qjLud, Buy Levitra, z3KpF, Generic Levitra, z4VGY.

Buy Propecia 评论于: 2009.07.04 13:45

发表评论
标题

在此添加评论
表情符号: smile laughing tongue angry crying sad wassat wink

称呼

邮箱地址(可选)

个人主页(可选)




自我介绍
切换风格
新闻聚合
博客日历
文章归档...
最新发表...
博客统计...
Blog信息
网站链接...