很明显啊,你的jstl的c标签引用的有问题。
可能是jar包版本不同导致路径不对。
简单的增删改查功能
packageEBookDao;
importjava.sql.Connection;
importjava.sql.PreparedStatement;
importjava.sql.ResultSet;
importjava.sql.SQLException;
importjava.util.ArrayList;
importjava.util.List;
importDBUtil.DBUtil;
importDBUtil.EBook;
/*
*查询书集信息
*
**/
publicclassEBookCZ{
publicListEBookfind(){
Connectionconn=null;
PreparedStatementps=null;
ResultSetrs=null;
ListEBooklist=newArrayListEBook();
try{
conn=DBUtil.getConnection();
Stringsql="SELECT*FROMebook";
ps=conn.prepareStatement(sql);
rs=ps.executeQuery();
while(rs.next()){
EBookeBook=newEBook();
eBook.setId(rs.getInt("ID"));
eBook.setBname(rs.getString("bname"));
eBook.setPrice(rs.getString("price"));
list.add(eBook);
System.out.println(rs.getInt("ID")+rs.getString("bname")+rs.getString("price"));
}
}catch(SQLExceptionsqle){
sqle.printStackTrace();
}finally{
DBUtil.close(conn,ps,rs);
returnlist;
*通过id删除书集信息
publicstaticEBookDelById(intid){
EBookbook=null;
Stringsql="deleteebook";
sql+="WHEREID=";
ps.setInt(1,id);
if(rs.next()){
book=newEBook();
book.setId(rs.getInt("ID"));
book.setBname(rs.getString("bname"));
book.setPrice(rs.getString("price"));
returnbook;
packageEBookServlet;
importjava.io.IOException;
importjava.io.PrintWriter;
importjavax.servlet.ServletException;
importEBookDao.EBookCZ;
publicclassEBookServletextendsHttpServlet{
/**
*/
privatestaticfinallongserialVersionUID=1L;
*Constructoroftheobject.
publicEBookServlet(){
super();
*Destructionoftheservlet.br
publicvoiddestroy(){
super.destroy();//Justputs"destroy"stringinlog
//Putyourcodehere
*ThedoGetmethodoftheservlet.br
*Thismethodiscalledwhenaformhasitstagvaluemethodequalstoget.
*@paramrequest
*therequestsendbytheclienttotheserver
*@paramresponse
*theresponsesendbytheservertotheclient
*@throwsServletException
*ifanerroroccurred
*@throwsIOException
publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)
throwsServletException,IOException{
this.doPost(request,response);
*ThedoPostmethodoftheservlet.br
*Thismethodiscalledwhenaformhasitstagvaluemethodequalsto
*post.
publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)
response.setContentType("text/html;charset=utf-8");
PrintWriterout=response.getWriter();
Stringmethod=request.getParameter("method");
Stringurl="";
EBookCZbookCZ=newEBookCZ();
if(method!=nullmethod.equals("find")){
System.out.println("find做完了");
url="EBookMNG.jsp";
ListEBooklist=bookCZ.find();
request.setAttribute("list",list);
}elseif(method!=nullmethod.equals("findById")){
System.out.println("findbyid做完了");
url="OK.jsp";
intid=Integer.parseInt(request.getParameter("id"));
EBookbook=EBookCZ.DelById(id);
request.setAttribute("book",book);
request.getRequestDispatcher(url).forward(request,response);
out.flush();
out.close();
*Initializationoftheservlet.br
*ifanerroroccurs
publicvoidinit()throwsServletException{
明显是路径没找到,你调试下程序,在java代码加下断点,看看有没有进断点。
连接数据库的典型步骤
第一步:加载正确的数据库驱动程序
第二步,定义所要连接数据库的地址
StringODBCURL=“jdbc:odbc:dbName”;
StringoracleURL="jdbc:oracle:thin:@host:port:dbName“;
StringmysqlURL="jdbc:mysql://host:port/dbName“;
StringsqlURL=“jdbc:microsoft:sqlserver://host:1433;DatabaseName=dbName”;
第三步,建立与数据库的连接
DriverManager.getConnection(oracleURL,
username,
password);
第四步,创建语句对象
Statementstatement=connection.createStatement();
Stringsql=“SELECT*FROMONTACT_TABLE”;
ResultSetresultSet=statement.executeQuery(sql);
该语句将sql命令提交给数据库服务器进行执行,并将执行结果存储在ResultSet对象中进行执行。
Statement接口主要有如下三个方法:
1.ResultSetexecuteQuery(Stringsql)
用于执行查询语句,返回ResultSet结果集(一个二维表)
2.intexecuteUpdate(Stringsql)
用于执行添加、删除或修改操作,返回被更新记录的条数
3.booleanexecute(Stringsql)
执行参数部分的SQL语句;
当SQL语句的执行结果是一个ResultSet结果集时,本方法返回true;并可以通过StatementgetResultSet()方法得到返回的结果集