一、編寫一個web程序
本文根據工作實際項目,編寫一個web程序:實現防偽碼查詢頁面,輸入防偽碼,點擊查詢,查詢數據庫並作出判斷,將結果顯示在查詢頁面。
1、需要添加的buildpath:ojdbc14.jar\classes12.jar
2、編寫searchresult.jsp文件:(剛入門格式不規范)

1 <%@ page language="java" import="java.util.*" pageEncoding="GBK"%> 2 <!--% 3 String path = request.getContextPath(); 4 String basePath = request.getScheme() + "://" 5 + request.getServerName() + ":" + request.getServerPort() 6 + path + "/"; 7 %>--> 8 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 9 <%@ page import="java.sql.*"%> 10 <%@ page import="testsample001.check"%> 11 <html> 12 <head> 13 <!--base href="<!--%=basePath%>">--> 14 <title>查詢結果</title> 15 <meta http-equiv="pragma" content="no-cache"> 16 <meta http-equiv="cache-control" content="no-cache"> 17 <meta http-equiv="expires" content="0"> 18 <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> 19 <meta http-equiv="description" content="This is my page"> 20 <!--<link rel="stylesheet" type="text/css" href="styles.css"> --> 21 </head> 22 <body> 23 <br> 24 <br> 25 <br> 26 <table> 27 <tr> 28 <td> 29 <form action="/testsample001/testservlet" method="post"> 30 防偽碼 31 <!--input name="fangweima" id="t1" type="text">--> 32 <!--input name="searchbtn" type="button" value='查詢' onclick="check1()">--> 33 <!--input name="result" id="t2" type="text"--> 34 <input type="text" id="t1" name="t1" value="<%=session.getAttribute("t1")%>" /> 35 <!--input type="text" id="t2" name="t2" value="<%=session.getAttribute("t2")%>"/>--> 36 <input type="submit" value="查詢"/> 37 <br> 38 查詢結果:<%=session.getAttribute("t2")%>; 39 </form> 40 </td> 41 </tr> 42 </table> 43 </body> 44 </html>
3、編寫check.java文件

1 package testsample001; 2 3 import java.sql.Connection; 4 import java.sql.DriverManager; 5 import java.sql.ResultSet; 6 import java.sql.SQLException; 7 import java.sql.Statement; 8 9 public class check { 10 private Connection con; 11 private String user = "deejuser"; 12 // private String user = "sys as sysdba"; 13 private String password = "deejuser"; 14 private String className = "oracle.jdbc.driver.OracleDriver"; 15 // private String url="jdbc:oracle:oci@localhost:1158:orcl";這個url可能無效 16 private String url = "jdbc:oracle:thin:@zs-PC:1521:ytdf"; 17 18 public String ConnectOracle(String productno) { 19 try { 20 Class.forName(className); 21 // System.out.println("加載數據庫驅動成功!"); 22 // System.out.println(productno); 23 String resultInfo = getCon(productno); 24 closed(); 25 return resultInfo; 26 } catch (ClassNotFoundException e) { 27 // System.out.println("加載數據庫驅動失敗!"); 28 e.printStackTrace(); 29 return "加載數據庫驅動失敗!"; 30 } 31 } 32 33 /** 創建數據庫連接 */ 34 // public Connection getCon(String productno) { 35 public String getCon(String productno) { 36 try { 37 con = DriverManager.getConnection(url, user, password); 38 // System.out.println("創建數據庫連接成功!"); 39 Statement stmt = con 40 .createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, 41 ResultSet.CONCUR_UPDATABLE); 42 String sql = "select * from product t where t.packagsn=" 43 + productno; 44 // System.out.print(sql); 45 ResultSet rs = stmt.executeQuery(sql); 46 if (rs.next()) 47 return "防偽碼存在!"; 48 else 49 return "防偽碼不存在!"; 50 } catch (SQLException e) { 51 // System.out.print(con); 52 // System.out.println("創建數據庫連接失敗!"); 53 con = null; 54 e.printStackTrace(); 55 return "數據庫連接失敗!"; 56 } 57 // return con; 58 } 59 60 public void closed() { 61 try { 62 if (con != null) { 63 con.close(); 64 } 65 } catch (SQLException e) { 66 System.out.println("關閉con對象失敗!"); 67 e.printStackTrace(); 68 } 69 } 70 }
4、編寫testservlet.java文件

1 package testsample002; 2 3 import java.io.IOException; 4 5 import javax.servlet.ServletException; 6 import javax.servlet.annotation.WebServlet; 7 import javax.servlet.http.HttpServlet; 8 import javax.servlet.http.HttpServletRequest; 9 import javax.servlet.http.HttpServletResponse; 10 11 import testsample001.check; 12 13 /** 14 * Servlet implementation class testservlet 15 */ 16 @WebServlet("/testservlet") 17 public class testservlet extends HttpServlet { 18 private static final long serialVersionUID = 1L; 19 20 /** 21 * @see HttpServlet#HttpServlet() 22 */ 23 public testservlet() { 24 super(); 25 // TODO Auto-generated constructor stub 26 } 27 28 /** 29 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse 30 * response) 31 */ 32 protected void doGet(HttpServletRequest request, 33 HttpServletResponse response) throws ServletException, IOException { 34 // TODO Auto-generated method stub 35 } 36 37 /** 38 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse 39 * response) 40 */ 41 protected void doPost(HttpServletRequest request, 42 HttpServletResponse response) throws ServletException, IOException { 43 // TODO Auto-generated method stub 44 String value = request.getParameter("t1");// 獲取前台頁面傳遞過來的數據 45 // request.getSession(false).setAttribute("t1", value);// 將數據放到session中 46 check connor = new check(); 47 String resultInfo = connor.ConnectOracle(value); 48 request.getSession(false).setAttribute("t2", resultInfo);// 將數據放到session中 49 request.getSession(false).setAttribute("t1", value); 50 response.sendRedirect("/testsample001/searchresult.jsp");// 跳轉回提交的頁面 51 52 } 53 54 }
5、設置項目的起始頁面(tomcat服務配置-web.xml)

1 <welcome-file-list> 2 <welcome-file>index.html</welcome-file> 3 <welcome-file>index.htm</welcome-file> 4 <welcome-file>searchresult.jsp</welcome-file> 5 </welcome-file-list>
6、實現結果:
7、導出jar包(在要生成jar的項目上右擊,選擇菜單上的Export(導出)),導出oracleconnect.jar
具體詳細步驟參考:http://blog.csdn.net/guanmjie/article/details/4437779
二、Junit測試查詢功能
1、新建一個java項目:JunitTestSample001
2、導入jar包:ojdbc14.jar\classes12.jar\oracleconnect.jar
3、配置junit:詳細步驟參考:http://www.cnblogs.com/shuaijie/articles/5731459.html
選擇Libraries,點擊Add variable按鈕,輸入變量名JUNIT_LIB,路徑:E:\測試\測試工具\Juint\eclipse\eclipse-jee-kepler-SR2-win32\eclipse\plugins\org.junit_4.11.0.v201303080030,結果如下圖:
4、新建junit test case:JunitTest001.java

1 package JunitTestSample001; 2 3 import junit.framework.TestCase; 4 5 import org.junit.After; 6 import org.junit.Before; 7 import org.junit.Test; 8 9 import testsample001.check; 10 11 public class JunitTest001 extends TestCase { 12 13 @Before 14 public void setUp() throws Exception { 15 super.setUp(); 16 } 17 18 @After 19 public void tearDown() throws Exception { 20 super.tearDown(); 21 } 22 23 @Test 24 public void testsearchresult() { 25 // fail("Not yet implemented"); 26 check cooner = new check(); 27 cooner.ConnectOracle("1"); 28 assertEquals("查詢結果匹配情況", "防偽碼存在!", cooner.ConnectOracle("1")); 29 30 } 31 }
5、運行JunitTest001.java(Run As-Junit test),運行結果如下: