ContactBean.java:
package com.jspdev.page;import java.util.*;
import com.jspdev.util.*;
import java.sql.*;public class ContactBean {
private Connection conn;
Vector v;
public ContactBean() throws Exception {
11 conn = DatabaseConn.getConnection();
v = new Vector();
}
public int getAvailableCount() throws Exception {
int ret = 0;
Statement stmt = conn.createStatement();
String strSql = "select count(*) as num from contact";
ResultSet rset = stmt.executeQuery(strSql);
while (rset.next()) {
ret = rset.getInt("num");
}
return ret;
} public PageBean listData(String page) throws Exception {
try {
PageBean pageBean = new PageBean(this);
int pageNum = Integer.parseInt(page);
Statement stmt = conn.createStatement(); String strSql = "select top" + pageNum * pageBean.rowsPerPage
+ "* from contact order by userName";
ResultSet rset = stmt.executeQuery(strSql);
int i = 0;
while (rset.next()) {
if (i > (pageNum - 1) * pageBean.rowsPerPage - 1) {
Object[] obj = new Object[6];
obj[0] = rset.getString("userName");
obj[1] = new Integer(rset.getInt("mobile"));
obj[2] = rset.getString("phone");
obj[3] = rset.getString("mail");
obj[4] = rset.getDate("lastcontact");
obj[5] = rset.getString("mem");
v.add(obj);
}
i++;
}
rset.close();
stmt.close();
pageBean.curPage = pageNum;
pageBean.data = v;
return pageBean;
} catch (Exception e) {
e.printStackTrace();
throw e;
} finally { }
} public Vector getResult() throws Exception {
return v;
}
public static void main(String[] args) {
int j = 0;
try {
67 ContactBean d = new ContactBean();
j = d.getAvailableCount();
System.out.println(j);
} catch (Exception e) {
e.printStackTrace();
}
}
}
DatabaseConn.java:
package com.jspdev.util;import java.sql.*;
import javax.naming.Context;
import javax.sql.DataSource;
import javax.naming.InitialContext;public class DatabaseConn { /**
* @param args
*/
public static synchronized Connection getConnection() throws Exception { try {
Context initCtx = new InitialContext();
17 Context envCtx = (Context) initCtx.lookup("java:comp/env");
DataSource ds = (DataSource) envCtx.lookup("jdbc/DBPool");
return ds.getConnection();
} catch (SQLException e) {
throw e;
} catch (Exception e) {
throw e;
}
}
}
运行ContactBean.java怎么报如下错误呢?
javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file: java.naming.factory.initial
at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:645)
at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:247)
at javax.naming.InitialContext.getURLOrDefaultInitCtx(InitialContext.java:284)
at javax.naming.InitialContext.lookup(InitialContext.java:351)
at com.jspdev.util.DatabaseConn.getConnection(DatabaseConn.java:17)
at com.jspdev.page.ContactBean.<init>(ContactBean.java:11)
at com.jspdev.page.ContactBean.main(ContactBean.java:67)
package com.jspdev.page;import java.util.*;
import com.jspdev.util.*;
import java.sql.*;public class ContactBean {
private Connection conn;
Vector v;
public ContactBean() throws Exception {
11 conn = DatabaseConn.getConnection();
v = new Vector();
}
public int getAvailableCount() throws Exception {
int ret = 0;
Statement stmt = conn.createStatement();
String strSql = "select count(*) as num from contact";
ResultSet rset = stmt.executeQuery(strSql);
while (rset.next()) {
ret = rset.getInt("num");
}
return ret;
} public PageBean listData(String page) throws Exception {
try {
PageBean pageBean = new PageBean(this);
int pageNum = Integer.parseInt(page);
Statement stmt = conn.createStatement(); String strSql = "select top" + pageNum * pageBean.rowsPerPage
+ "* from contact order by userName";
ResultSet rset = stmt.executeQuery(strSql);
int i = 0;
while (rset.next()) {
if (i > (pageNum - 1) * pageBean.rowsPerPage - 1) {
Object[] obj = new Object[6];
obj[0] = rset.getString("userName");
obj[1] = new Integer(rset.getInt("mobile"));
obj[2] = rset.getString("phone");
obj[3] = rset.getString("mail");
obj[4] = rset.getDate("lastcontact");
obj[5] = rset.getString("mem");
v.add(obj);
}
i++;
}
rset.close();
stmt.close();
pageBean.curPage = pageNum;
pageBean.data = v;
return pageBean;
} catch (Exception e) {
e.printStackTrace();
throw e;
} finally { }
} public Vector getResult() throws Exception {
return v;
}
public static void main(String[] args) {
int j = 0;
try {
67 ContactBean d = new ContactBean();
j = d.getAvailableCount();
System.out.println(j);
} catch (Exception e) {
e.printStackTrace();
}
}
}
DatabaseConn.java:
package com.jspdev.util;import java.sql.*;
import javax.naming.Context;
import javax.sql.DataSource;
import javax.naming.InitialContext;public class DatabaseConn { /**
* @param args
*/
public static synchronized Connection getConnection() throws Exception { try {
Context initCtx = new InitialContext();
17 Context envCtx = (Context) initCtx.lookup("java:comp/env");
DataSource ds = (DataSource) envCtx.lookup("jdbc/DBPool");
return ds.getConnection();
} catch (SQLException e) {
throw e;
} catch (Exception e) {
throw e;
}
}
}
运行ContactBean.java怎么报如下错误呢?
javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file: java.naming.factory.initial
at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:645)
at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:247)
at javax.naming.InitialContext.getURLOrDefaultInitCtx(InitialContext.java:284)
at javax.naming.InitialContext.lookup(InitialContext.java:351)
at com.jspdev.util.DatabaseConn.getConnection(DatabaseConn.java:17)
at com.jspdev.page.ContactBean.<init>(ContactBean.java:11)
at com.jspdev.page.ContactBean.main(ContactBean.java:67)
解决方案 »
- ssh分页 传参 搜索
- SSH 使用Ajax检测用户是否可用???
- 有一段时间没做技术了,需要2个DEMO,请大家帮帮忙!!
- 有谁知道南京南大百合网络科技有限公司?
- 把值放在request.setParameter request.setHeader有何区别
- 怎样获得服务器本机域名?????????????
- 有关系统登录的问题想请教于大家
- 请教关于时间相减的函数
- 请问怎么验证form里面各个项目的正确性,如果都正确,就执行action后面的JSP,如果有一个不正确,就不执行JSP
- 一个jsp+javabean的问题,望高手给个回复。
- 请教!! 在JSP页面中如何实现视频文件播放?? 高手请进
- 如何实现搜索的功能的阿?
package com.jspdev.page;
import java.util.Vector;
public class PageBean { /**
* @param args
*/
public int curPage; // 当前是第几页 public int maxpage; // 一共有多少页 public int maxRowCount; // 一共有多少行 public int rowsPerPage = 5; // 每页多少行 public Vector data; // 本页要显示的资料 public void countMaxPage() {// 根据总行数计算总页数 if (this.maxRowCount % this.rowsPerPage == 0) {
this.maxpage = this.maxRowCount / this.rowsPerPage;
} else {
this.maxpage = this.maxRowCount / this.rowsPerPage + 1;
}
} public Vector getResult() {
return this.data;
} public PageBean(ContactBean contact) throws Exception {
this.maxRowCount = contact.getAvailableCount();// 得到总行数
this.data = contact.getResult();
this.countMaxPage();
}}
contact.jsp:
<jsp:useBean id="pageCtl" class="com.jspdev.page.PageBean" scope="request"/>
<table border=1>
<% java.util.Vector v = pageCtl.getResult();
java.util.Enumeration e = v.elements();
while(e.hasMoreElements())
{
Object[] obj=(Object[])e.nextElement();
%>
<tr>
<td align="center" width="95"><%= obj[0] %></td>
<td align="center" width="93"><%= obj[1]%></td>
<td align="center" width="71"><%= obj[2] %></td>
<td align="center" width="142"><%= obj[3] %></td>
<td align="center" width="142"><%= obj[4] %></td>
<td align="center" width="142"><%= obj[5] %></td>
</tr>
<%}%>
</table>
<%if(pageCtl.maxpage !=1){%>
<form name="PageForm" action="/page/servlet/contactservlet" method="post">
<%@ include file="/pageman.jsp"%>
</form>
<%}%>
可是我放在PageBean中,然后运行contact.jsp,怎么报如下错误呢?
org.apache.jasper.JasperException: /contact.jsp(1,1) The value for the useBean class attribute com.jspdev.page.PageBean is invalid.
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:510)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:375)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)