我的第二个jsp程序 使用javabean
就是把第一个jsp程序中的后台部分封装到了javabean中了,在我看来javabean就和asp中ocx控件一样。很简洁也很好用,他是符合jsp使用的java类,本质上和java没什么区别。
一下是bean的代码:
/*
* 创建日期 2005-6-21
*
* 更改所生成文件模板为
* 窗口 > 首选项 > Java > 代码生成 > 代码和注释
*/
package test;
import java.sql.*;
/**
* @author Administrator
*
* 更改所生成类型注释的模板为
* 窗口 > 首选项 > Java > 代码生成 > 代码和注释
*/
public class HelloWorld {
public ResultSet rs =null;
public Connection con=null;
public HelloWorld()
{
}
public String GetName()
{
return "用javabean生成rs 在页面中调用后的结果列表:";
}
public ResultSet GetList() throws SQLException
{
try{
String url = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=liveflow";
String user ="sa";//数据库用户名
String password = "sa";//数据库用户密码
String sqlStr = "select top 100 * from employee_base";
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
con = DriverManager.getConnection( url, user, password );
Statement st = con.createStatement();
rs = st.executeQuery( sqlStr );
}
catch(Exception ee)
{
System.out.println("connect db error:"+ee.getMessage());
}
//finally
//{
// con.close();
//}
return rs;
}
}
以下是jsp的代码:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML>
<HEAD>
<%@ page
language="java"
import="java.sql.*"
contentType="text/html; charset=GBK"
pageEncoding="GBK"
%>
<META http-equiv="Content-Type" content="text/html; charset=GBK">
<META name="GENERATOR" content="IBM WebSphere Studio">
<META http-equiv="Content-Style-Type" content="text/css">
<LINK href="theme/Master.css" rel="stylesheet" type="text/css">
<TITLE>BeanTest.jsp</TITLE>
</HEAD>
<BODY>
<jsp:useBean class="test.HelloWorld" id="hello"></jsp:useBean>
<%= hello.GetName()%>
<%
int currpage=0;
try
{
currpage=java.lang.Integer.parseInt(request.getParameter("page")) ;//当前页码}
}
catch(Exception ex)
{
ex.getMessage();
}
//int rownum=0;//记录行数
//int pagesize=5;
//int totalPages=0;
ResultSet rs=hello.GetList();//得到记录集
//rownum=rs.getInt("total_rows");//得到总行数
//totalPages = rownum / pagesize + 1;//总页数
// if((rownum % pagesize == 0)&&(rownum != 0)){
// totalPages = totalPages -1;}
%>
<table border=1>
<%
//if(java.lang.Integer.parseInt(request.getParameter("page"))>=1)
//{
// rs.absolute(currpage*pagesize+1);
//}%>
<%while(rs.next())
{%>
<tr><td><%=rs.getString("employee_id")%></td><td><%=rs.getString("employee_name")%></td><td><%=rs.getString("post_name")%></td><td><%=rs.getString("rela_phone")%></td><td><%=rs.getString(6)%></td></tr>
<% }%>
<tr><td><a href=BeanTest.jsp?page=<%=currpage-1%>>上一页</a>
<a href=BeanTest.jsp?page=<%=currpage+1%>>下一页</a></td><tr>
</table>
</BODY>
</HTML>