Javaプログラミング

作成 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>

  

おすすめ

転載: www.cnblogs.com/zzjam--1/p/12634972.html