(1)我是一个新手,刚学servlet不久,
在编一个管理用户表的的时候,httpservlet在加载不了连接2000数据库驱动:
Class.forName(com.)就这样com.后调不出microsot,只能调出一个*和一个sun,想不到办法了没法连接数据库啊很郁闷。昨天还可以加载的。。
这后,就重装JDK,TOMCAT,JCREATOR一试还是不行,网上找了好久都没找到相应的贴子望高手不闲我的问题低级,先谢过大家。package lcs.usertest;
import java.util.*;
import java.sql.*;
import javax.servlet.http.*;
public class test extends HttpServlet { public void doGet(HttpServletRequest request,HttpServletResponse response) {
Class.forName(com.)//COM包点后一直不能调出MICROSOFT,只能调出*,SUN这两个
}
}(2)
这是我先前可以调,用过的程序不过,出错就是从这个程序开始,只要有pw.println("");页面输出的代码就不能,定义的connection,statement,resultset就全部失效。后来把pw.println全部注释掉,connection,statement,resultset就又可以用。有冲突。我反复试了几次后,就变成问题1了,连加载数据库驱动的都不行了.
*
*
* @author
* @version 1.00 2011/6/4
*/
package lcs.userenter;
import java.util.*;
import java.sql.*;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.http.*;public class main extends HttpServlet { public void doGet(HttpServletRequest req,HttpServletResponse res) {
Connection cn=null;
Statement sm=null;
ResultSet rs=null;
try{
//res.setContentType("text/html;charset=gbk");
//PrintWriter pw=res.getWriter();
pw.println("欢迎您登入servlet后台管理:"+req.getParameter("username"));
//pw.println("<html>");
//pw.println("<head><title>这是我的SERVLET的用户表显示程序</title></head>");
//pw.println("<body>");
//pw.println("<h1>用户管理表</h1><hr/>");
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
cn=DriverManager.getConnection("jdbc:microsoft:sqlserver://127.0.0.1:1433;databaseName=myweb","sa","");
sm=cn.createStatement();
int pagesize=5;
int pagenow=1;
int rowcount=0;
int pagecount=0;
rs=sm.executeQuery("select count(*) from my_user");
if (rs.next())
{
rowcount=rs.getInt(1);
if (rowcount%pagesize==0)
{
pagenow=rowcount/pagesize;
System.out.println(pagenow);
}
else
{
pagenow=rowcount/pagesize+1;
System.out.println(pagenow);
}
}
rs=sm.executeQuery("select top "+pagesize+" * from my_user where my_id not in (select top "+pagesize*(pagenow-1)+" my_id from my_user)");
pw.println("<table>");
while(rs.next())
{
//pw.println("<tr>");
//pw.println("<td>"+rs.getInt(1)+"</td>");
//pw.println("<td>"+rs.getString(2)+"</td>");
//pw.println("<td>"+rs.getString(3)+"</td>");
//pw.println("<td>"+rs.getInt(4)+"</td>");
//pw.println("<td>"+rs.getString(5)+"</td>");
//pw.println("<td>"+rs.getDate(6)+"</td>");
//pw.println("<td>"+rs.getString(7)+"</td>");
//pw.println("</tr>");
}
//pw.println("</table>");
//pw.println("</body>");
// pw.println("</hmtl>");
}catch(Exception e){
e.printStackTrace();
}
}
public void doPost(HttpServletRequest req,HttpServletResponse res) {
this.doGet(req,res);
}
}
在编一个管理用户表的的时候,httpservlet在加载不了连接2000数据库驱动:
Class.forName(com.)就这样com.后调不出microsot,只能调出一个*和一个sun,想不到办法了没法连接数据库啊很郁闷。昨天还可以加载的。。
这后,就重装JDK,TOMCAT,JCREATOR一试还是不行,网上找了好久都没找到相应的贴子望高手不闲我的问题低级,先谢过大家。package lcs.usertest;
import java.util.*;
import java.sql.*;
import javax.servlet.http.*;
public class test extends HttpServlet { public void doGet(HttpServletRequest request,HttpServletResponse response) {
Class.forName(com.)//COM包点后一直不能调出MICROSOFT,只能调出*,SUN这两个
}
}(2)
这是我先前可以调,用过的程序不过,出错就是从这个程序开始,只要有pw.println("");页面输出的代码就不能,定义的connection,statement,resultset就全部失效。后来把pw.println全部注释掉,connection,statement,resultset就又可以用。有冲突。我反复试了几次后,就变成问题1了,连加载数据库驱动的都不行了.
*
*
* @author
* @version 1.00 2011/6/4
*/
package lcs.userenter;
import java.util.*;
import java.sql.*;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.http.*;public class main extends HttpServlet { public void doGet(HttpServletRequest req,HttpServletResponse res) {
Connection cn=null;
Statement sm=null;
ResultSet rs=null;
try{
//res.setContentType("text/html;charset=gbk");
//PrintWriter pw=res.getWriter();
pw.println("欢迎您登入servlet后台管理:"+req.getParameter("username"));
//pw.println("<html>");
//pw.println("<head><title>这是我的SERVLET的用户表显示程序</title></head>");
//pw.println("<body>");
//pw.println("<h1>用户管理表</h1><hr/>");
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
cn=DriverManager.getConnection("jdbc:microsoft:sqlserver://127.0.0.1:1433;databaseName=myweb","sa","");
sm=cn.createStatement();
int pagesize=5;
int pagenow=1;
int rowcount=0;
int pagecount=0;
rs=sm.executeQuery("select count(*) from my_user");
if (rs.next())
{
rowcount=rs.getInt(1);
if (rowcount%pagesize==0)
{
pagenow=rowcount/pagesize;
System.out.println(pagenow);
}
else
{
pagenow=rowcount/pagesize+1;
System.out.println(pagenow);
}
}
rs=sm.executeQuery("select top "+pagesize+" * from my_user where my_id not in (select top "+pagesize*(pagenow-1)+" my_id from my_user)");
pw.println("<table>");
while(rs.next())
{
//pw.println("<tr>");
//pw.println("<td>"+rs.getInt(1)+"</td>");
//pw.println("<td>"+rs.getString(2)+"</td>");
//pw.println("<td>"+rs.getString(3)+"</td>");
//pw.println("<td>"+rs.getInt(4)+"</td>");
//pw.println("<td>"+rs.getString(5)+"</td>");
//pw.println("<td>"+rs.getDate(6)+"</td>");
//pw.println("<td>"+rs.getString(7)+"</td>");
//pw.println("</tr>");
}
//pw.println("</table>");
//pw.println("</body>");
// pw.println("</hmtl>");
}catch(Exception e){
e.printStackTrace();
}
}
public void doPost(HttpServletRequest req,HttpServletResponse res) {
this.doGet(req,res);
}
}
也就是说,JDBC驱动的Jar包没有放项目中来。
* @(#)userlist.java
*
*
* @author
* @version 1.00 2011/6/6
*/package lcs.userenter;
import javax.servlet.http.*;
import java.io.*;
import java.sql.*;
public class userlist extends HttpServlet { public void doGet(HttpServletRequest request,HttpServletResponse response) { Connection cn=null;
//Statement sm=null;
PreparedStatement ps=null;
ResultSet rs=null;
try
{
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
cn=DriverManager.getConnection("jdbc:microsoft:sqlserver://127.0.0.1:1433;databaseName=myweb","sa","");
int pagesize=5;
int pagenow=Integer.parseInt(request.getParameter("pagenow"));
int rowcount=0;
int pagecount=0;
ps=cn.prepareStatement("select count(*) from my_user");
rs=ps.executeQuery();
if (rs.next())
{
rowcount=rs.getInt(1);
if (rowcount%pagesize==0)
{
pagecount=rowcount/pagesize;
}
else
{
pagecount=rowcount/pagesize+1;
}
}
ps=cn.prepareStatement("select top "+pagesize+" * from my_user where my_id not in (select top "+pagesize*(pagenow-1)+" my_id from my_user)");
rs=ps.executeQuery();
response.setContentType("text/html;charset=gb2312");
PrintWriter tt=response.getWriter();
tt.println("<html>");
tt.println("<head><title>用户列表显示</title></head>");
tt.println("<body>");
tt.println("<h1>用户列表显示</h1>欢迎登入后台:"+(String)request.getAttribute("username") +"<hr/>");
tt.println("<table border=1>");
while (rs.next())
{
tt.println("<tr>");
tt.println("<td>"+rs.getInt(1)+"</td>");
tt.println("<td>"+rs.getString(2)+"</td>");
tt.println("<td>"+rs.getString(3)+"</td>");
tt.println("<td>"+rs.getInt(4)+"</td>");
tt.println("<td>"+rs.getString(5)+"</td>");
tt.println("<td>"+rs.getString(6)+"</td>");
tt.println("<td>"+rs.getString(7)+"</td>");
tt.println("</tr>");
}
tt.println("<tr>");
if(pagenow!=1)
{
tt.println("<td><a href=userlist?pagenow=1>首页</a></td>");
}
tt.println("<td><a href=userlist?pagenow="+(pagenow-1 >0 ? pagenow-1 : pagenow) +">上一页</a></td>");
tt.println("<td colspan=3>");
for (int i=pagenow;i<=pagecount;i++)
{
tt.println("<a href=userlist?pagenow="+i+"> ["+i+"] </a>");
}
tt.println("</td>");
tt.println("<td><a href=userlist?pagenow="+(pagenow+1>pagecount ? pagecount : pagecount+1)+">下一页</a></td>");
if(pagenow<pagecount)
{
tt.println("<td><a href=userlist?pagenow="+pagecount+">尾页</a></td>");
}
tt.println("</tr>");
tt.println("</body>");
tt.println("</body>");
tt.println("</html>");
}
catch(Exception e)
{
e.printStackTrace();
}
finally{
try
{
if (rs!=null)
{
rs.close();
rs=null;
}
if (ps!=null)
{
ps.close();
ps=null;
}
if (cn!=null)
{
cn.close();
cn=null;
}
}
catch(Exception e){
e.printStackTrace();
}
}
}
public void doPost(HttpServletRequest request,HttpServletResponse response) {
this.doGet(request,response);
}
}
不过道理是一样的,要想代码自动完成功能正常,必须要先确保所用的类库在项目中。
response/request对应的类在serlet-api.jar包中。