代码如下:
public static void main(String[] args) {
BooksService bs=new BooksService();
Books book=new Books();
book.setBookname("asp.net");
book.setPrice(10.6f);
bs.add(book);
Collection<Books> cl=bs.find();
for(Iterator<Books> iter=cl.iterator();iter.hasNext();){
Books bk=iter.next();
System.out.println(bk.getBookname());
}
}
运行结果:
java
asp.net数据库连接正常,但在servlet里用的这个,在网页上显示org.apache.jasper.JasperException: java.lang.NullPointerException
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:522)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:416)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:337)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
而用jsp直接连接数据库又没有问题
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>
<html>
<body>
<%Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
String url="jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=test;SelectMethod=cursor";
String user="web";
String password="web";//为另一台自己设置的用户名、密码
Connection conn= DriverManager.getConnection(url,user,password);
//result = DriverManager.getConnection(url, username, password);
Statement stmt=conn.createStatement();
String sql="select bookname from books";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()) {%>
您的第一个字段内容为:<%=rs.getString(1)%>
<%}%>
<%out.print("数据库操作成功,恭喜你");%>
<%rs.close();
stmt.close();
conn.close();
%>
</body>
</html>
显示结果:
您的第一个字段内容为:java 您的第一个字段内容为:asp.net 数据库操作成功,恭喜你
请高手指教
public static void main(String[] args) {
BooksService bs=new BooksService();
Books book=new Books();
book.setBookname("asp.net");
book.setPrice(10.6f);
bs.add(book);
Collection<Books> cl=bs.find();
for(Iterator<Books> iter=cl.iterator();iter.hasNext();){
Books bk=iter.next();
System.out.println(bk.getBookname());
}
}
运行结果:
java
asp.net数据库连接正常,但在servlet里用的这个,在网页上显示org.apache.jasper.JasperException: java.lang.NullPointerException
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:522)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:416)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:337)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
而用jsp直接连接数据库又没有问题
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>
<html>
<body>
<%Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
String url="jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=test;SelectMethod=cursor";
String user="web";
String password="web";//为另一台自己设置的用户名、密码
Connection conn= DriverManager.getConnection(url,user,password);
//result = DriverManager.getConnection(url, username, password);
Statement stmt=conn.createStatement();
String sql="select bookname from books";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()) {%>
您的第一个字段内容为:<%=rs.getString(1)%>
<%}%>
<%out.print("数据库操作成功,恭喜你");%>
<%rs.close();
stmt.close();
conn.close();
%>
</body>
</html>
显示结果:
您的第一个字段内容为:java 您的第一个字段内容为:asp.net 数据库操作成功,恭喜你
请高手指教
解决方案 »
- 可以用javascript控制排版打印到pos机吗?
- java中如何用html打开别的文件类型
- 通过window.onload 调用页面加载多个js函数,这样为何还不出要的结果?急盼高人指点!谢谢
- JSP网页中下拉列表的问题
- 怎么在代码中取得当前Context的实际目录?
- 偶发的那个帖子灭人回,555~~~,发个小的问问
- jsp中如何实现文件的复制和剪切
- 大地jsp免费空间用户通知
- SmartUpload 的下载问题(头晕)在线等待。 谢谢
- 是不是使用Action,就一定要用ActionForm?
- flex中remoteObject传递得参数可不可以是自定义对象
- 访问管理目录[admin]下除了login.jsp文件的所有文件如果没有session自动跳转到login.jsp 用web.xml配置能实现吗?
你的Service看看,呵呵!
public Collection<Books> populate(ResultSet rs) throws Exception{
List<Books> list=new ArrayList<Books>();
try {
while(rs.next()){
Books books=new Books();
books.setBookid(rs.getLong("bookid"));
books.setBookname(rs.getString("bookname"));
books.setPrice(rs.getFloat("price"));
list.add(books);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return list;
} public Collection<Books> find() {
Connection conn = null;
PreparedStatement ps = null;
ResultSet rs=null;
Collection<Books> bookslist=null;
try {
conn=ManagerConnection.getConnection("mssql");
String sql="select * from books";
ps=conn.prepareStatement(sql);
rs=ps.executeQuery();
bookslist=this.populate(rs);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
finally{
this.close(conn, ps, rs);
}
return bookslist;
}
public String show(){
Books books=null;
StringBuilder sb=new StringBuilder();
sb.append("<TABLE width=\"100%\" border=\"1\" align=\"center\" cellPadding=\"0\" cellSpacing=\"0\" borderColor=\"#cedcef\" borderColorDark=\"#ffffff\">\r\n");
sb.append("<tr bgColor=\"#E3efff\">\r\n");
sb.append("<td>bookid</td>\r\n");
sb.append("<td>书名</td>\r\n");
sb.append("<td>价格</td>\r\n");
sb.append(" <td>修改</td>\r\n");
sb.append(" <td>删除</td>\r\n");
sb.append("</tr>\r\n");
Collection<Books> cl=find();
for(Iterator<Books> iter=(Iterator<Books>)cl.iterator();iter.hasNext();){
books=(Books)iter.next();
sb.append("<tr>\r\n");
sb.append("<td>"+books.getBookid()+"</td>\r\n");
sb.append("<td>"+books.getBookname()+"</td>\r\n");
sb.append("<td>"+books.getPrice()+"</td>\r\n");
sb.append(" <td><a href=\"request/booksedit.jsp?bookid="+books.getBookid()+"\">修改</a></td>\r\n");
sb.append(" <td><a href=\"client/booksdel?bookid="+books.getBookid()+"\">删除</a></td>\r\n");
sb.append("</tr>\r\n");
}
sb.append("</table>\r\n");
return sb.toString();
}books.jsp代码
<%@ page contentType="text/html;charset=gb2312" %>
<jsp:useBean id="booksservice" class="service.BooksService" scope="request"/>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'books.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<body>
<%
int count=booksservice.find().size();
int pagenum=3;
int totalnum=(((double)count/(double)pagenum)>(count/pagenum)?count/pagenum+1:count/pagenum);
int currentpage=1;
if(request.getParameter("page")!=null)
currentpage=Integer.parseInt(request.getParameter("page"));
out.println("<a href=\"request/booksadd.html\">添加</a><br>");
out.println(booksservice.show(currentpage,pagenum,null,null));
if(currentpage>1){
out.println("<a href=\"show/books.jsp?page=1\">首页</a> ");
out.println(" <a href=\"show/books.jsp?page=<%=currentpage-1 \">上一页</a>");
}
else
{
out.println("首页 ");
out.println("上一页");
}
if(totalnum>currentpage){
out.println("<a href=\"show/books.jsp?page=<%=currentpage+1\">下一页</a> ");
out.println(" <a href=\"show/books.jsp?page=<%=totalnum \">尾页</a> ");
}
else{
out.println("下一页 ");
out.println("尾页");
}
%>
</body>
</html>