作成 DAOクラスとクラスの本を
ダオ类: パッケージcn.edu.tzc.dao。 インポートjava.sqlの。*; 輸入はjava.util.ArrayList; 輸入cn.edu.tzc.bean.books。 パブリッククラスBookDao { 公共のArrayList queryAllBooks()は例外{スロー 接続CONN =ヌル; ArrayListのブック=新しいArrayListを(); してみてください{ Class.forNameの( "com.microsoft.sqlserver.jdbc.SQLServerDriver"); CONN =したDriverManager.getConnection( "JDBC:のSQLServer:// localhostを:1433;データベース名=ブック"、 "SA"、 "123456"); ステートメントSTAT = conn.createStatement()。 文字列のSQL = "T_BOOK SELECT * FROM"; ResultSetのRS = stat.executeQuery(SQL)。 (rs.next()){一方 書籍BOOK1 =新しい書籍()。 book1.setId(rs.getString( "ID")); book1.setName(rs.getString( "名前")); (( "価格")rs.getString)book1.setPrice。 books.add(BOOK1)。 } rs.close()。 stat.close(); } キャッチ(例外e){ e.printStackTrace(); }最後に{ IF(!CONN = NULL) { はconn.close(); CONN = NULL; } } 本を返します。 } }
ブック类: パッケージcn.edu.tzc.bean。 パブリッククラスブック{ プライベート文字列ID; プライベート文字列名; パブリック文字列のgetId(){ 戻りID。 } 公共ボイドSETID(文字列ID){ this.id = ID。 } パブリック文字列のgetName(){ 戻り名。 } 公共ボイドのsetName(文字列名){ this.name =名。 } パブリック文字列getPrice(){ 戻り価格。 } 公共ボイドsetPrice(文字列価格){ this.price =価格。 } プライベート文字列の価格。 }
books.java(selvert)
サーブレットをパッケージ化。 インポートにjava.io.IOException; 輸入てjava.io.PrintWriter; インポートのjava.io.Writer; 輸入javax.servlet.ServletException; 輸入javax.servlet.http.HttpServlet。 インポートのjavax.servlet.http.HttpServletRequest; インポートのjavax.servlet.http.HttpServletResponse; インポートのjava.sql.Connection; インポートのjava.sql.DriverManager。 インポートのjava.sql.ResultSet; 輸入java.sql.Statementの; 輸入javax.servlet.http.HttpSession。 パブリッククラス書籍が延びるのHttpServlet { 公共ボイドSQLFind(HttpServletRequestのリクエスト、HttpServletResponseの応答){ HttpSessionのS =でrequest.getSession(); response.setContentType( "text / htmlの;のcharset = UTF-8"); 接続でCONN = NULL; 声明STAT = NULL; 文字列名= request.getParameter( "名前"); 文字列のSQL = "T_BOOK SELECT * FROM WHERE名LIKE '% "+名+" %';"; 試し{ ライターライター= response.getWriter(); Class.forNameの( "com.microsoft.sqlserver.jdbc.SQLServerDriver"); CONN =したDriverManager.getConnection( "JDBC:のSQLServer:// localhostを:1433;データベース名=ブック"、 "SA"、 "123456"); STAT = conn.createStatement()。 ResultSetのRS = stat.executeQuery(SQL)。 int型F = 0; 一方、(rs.next()){ F = 1。 ストリングS1 = rs.getString( "ID")。 文字列s2を= RS。getString( "名前"); 文字列S3 = rs.getString( "価格"); writer.write( "<フォームアクション= \" index.jspを\ ">" + "の<input type = \"隠された\ "名= \ "bookid \"値= \ "" + S2 + "\">" +」 <input type = \ "隠された\"名= \ "optionid \"値= \ " - 1 \"> " + "ID:" + S1 +"名: "+ S2 +"価格: "+ S3 +" <入力タイプ= \)= \ "添加\"> </フォーム> "値を"\提出します"。 } であれば(F == 0) { writer.write( "没有找到书本!")。 } )(stat.close。 conn.close(); }キャッチ(例外e){ System.out.printlnは(E); // TODO: ServletExceptionがは、IOException {スロー ライターライター= response.getWriterは(); SQLFind(リクエスト、レスポンス)。 writer.write( "<フォームアクション= \" index.jspを\ ">" + "の<input type = \"隠された\ "名= \ "bookid \"値= \ "\"> <BR>" + "<入力タイプ= \ "隠された\"名= \ "optionid \"値= \ "0 \"> " + "の<input type = \"提出\"値= \ "显示购物车\"> </フォーム>」 ); } 公共ボイドのdoPost(HttpServletRequestのリクエスト、HttpServletResponseの応答) ServletExceptionが、IOExceptionがスロー{ } }
Search.jsp:
<%@ページのインポート= "java.util.ArrayListの" %> <%@ページ言語= "javaの" contentTypeの= "text / htmlの;のcharset = UTF-8" pageEncodingは= "UTF-8" %> <%@ページインポート= "cn.edu.tzc.bean.books" %> <%@ページのインポート= "cn.edu.tzc.dao.BookDao" %> <%@ページのインポート= "java.io.Writerの" %> < HTML> <BODY> <% BookDao DAO =新しいBookDao()。 ArrayListの図書= dao.queryAllBooks(); 以下のために(INT I 0 =; I <books.size(); I ++) { 書籍BOOK2 =(書籍)books.get(I)。 session.setAttribute(book2.getName()、0); }%> <フォームアクション= "ブック"> 请输入书名:<BR> </ BODY> </ HTML>
index.jspの:
<%@ページのインポート= "cn.edu.tzc.bean.books" %> <%@ページのインポート= "cn.edu.tzc.dao.BookDao" %> <%@ページ言語= "javaの"インポート=」 java.utilの*」pageEncodingは= "UTF-8" %>。 <DOCTYPE HTML PUBLIC! " - // W3C // DTD HTML 4.01移行// EN"> <HTML> <BODY> <% BookDao DAO =新しいBookDao( ); ArrayListの図書= dao.queryAllBooks(); 文字列ID = request.getParameter( "optionid")。 IF(id.equals( "0")){ INT [] A =新たINT [1000]。 String []型bookname =新しいString [1000]; 以下のために(INT I 0 =; I <books.size(); I ++) {書籍BOOK2 =(書籍)books.get(I)。 [I] = book2.getName()bookname。 } [I] = Integer.parseInt(session.getAttribute(bookname [i])とのtoString())。 } ; <{(books.size()は、i ++ I INT I = 0)するための %> <フォームアクション= "index.jspが"> <%= I + 1%>书名:<%= bookname [i]のID %> の<input type = "隠れた"名前=値= "bookid" "<%= bookname [I]%>"> の<input type = "隠れた" NAME = "optionid"値= "1"> の<input type = > <BR> "删除" =値を"送信" <%= [I]%>本<BR>:书本数量 </ FORM> <% } } { -そうであれば( "1")id.equals() 文字列s = request.getParameter( "bookid")。 INT B = Integer.parseInt(session.getAttribute(S).toString()); session.setAttribute(S、B + 1); %> に成功! <% } {他 文字列s = request.getParameter( "bookid")。 System.out.print(S); INT C = Integer.parseInt(session.getAttribute(S).toString()); (C-1> 0)場合 にsession.setAttribute(S、C-1)。 他 にsession.setAttribute(S、0); %> 删除成功! <フォーム> の<input type = "隠された"名前=値= ""> "bookid" 隠された"名前=" optionid <入力=タイプ""値= "0"> の<input type = ""提出を値= "确认"> </ FORM> <% } %> </ body> </ HTML>