Eclipseを利用してjspにてオラクルテーブルに接続し、画面に入力されたパスワード
を元に認証できるよう作成しているのですが、作成したものを見ると、
[Unhandled exception type ClassNotFoundException]
となってしまいます。
・/page/Login.jsp
jsp
1<%@ page 2contentType="text/html; charset=Windows-31J" 3import="org.apache.commons.lang.*" 4import="javax.servlet.http.HttpSession" 5 6import="java.io.*" 7import="javax.servlet.*" 8import="javax.servlet.http.*" 9import="java.sql.*" 10 11 12%> 13<%! 14 15private boolean doLogin(String userid, String pass) { 16 17 Class.forName("oracle.jdbc.driver.OracleDriver").newInstance(); 18 19 Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@192.168.138.122:1521:TEST", "tst", "tst"); 20 // ステートメントを作成 21 Statement stmt = conn.createStatement(); 22 // 問合せの実行 23 ResultSet rset = stmt.executeQuery("SELECT * FROM USER"); 24 // 問合せ結果の表示 25 26 27 // 判定 28 while (rset.next()) { 29 String name = rset.getString("USER_ID"); 30 String password = rset.getString("PASSWD"); 31 if (userid.equals(name) && pass.equals(password)) { 32 return true; 33 } else{ 34 return false; 35 } 36 } 37 38 39 return false; 40} 41%><% 42try { 43// セッションを無効化する 44session.invalidate(); 45} catch (IllegalStateException e) { 46//すでに無効化されたセッションの場合は無視する 47} 48//環境定数をあらかじめ取得 49String ctxPath = request.getContextPath(); 50String pAction = request.getParameter("action"); 51String userid = request.getParameter("user"); 52 53String password = request.getParameter("password"); 54 55if(StringUtils.equals(pAction, "dologin")) { 56//if( doLogin(userid) ) { 57//追加 58 if( doLogin(userid, password) ) { 59//追加 60 // セッションを作成する 61HttpSession sess = request.getSession(true); 62// ログイン済みフラグ 63sess.setAttribute("APP_ISLOGGEDIN",new Boolean(true)); 64// ログインユーザID 65sess.setAttribute("APP_USER",userid); 66 67//追加 68//ログインパスワード 69sess.setAttribute("APP_PASS",password); 70//ログインパスワード 71//追加 72 73// 初期入出力を表示する 74response.sendRedirect( ctxPath + "/"); 75return; 76} 77} 78%> 79<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 80<html> 81<head> 82<meta http-equiv="Pragma" content="no-cache"> 83<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> 84<meta http-equiv="Content-Script-Type" content="text/javascript"> 85<meta http-equiv="Content-Style-Type" content="text/css"> 86<title>ログイン(Login.jsp)</title> 87<link rel="stylesheet" type="text/css" href="<%= ctxPath %>/style/global.css"> 88<link rel="stylesheet" type="text/css" href="<%= ctxPath %>/style/body_global.css"> 89<link rel="stylesheet" type="text/css" href="<%= ctxPath %>/style/login.css"> 90</head> 91<jsp:include page="/page/_H_login.jsp"/> 92<body> 93<h1>ログイン(Login.jsp)</h1> 94<form name="Login" method="POST" target="_self" action="<%= ctxPath %>/page/Login.jsp"> 95<input type="hidden" name="action" value="dologin"/> 96<img src="<%= ctxPath %>/image/mesage_info.gif" alt="MSG_INFO"/> 97ユーザIDとパスワードを入力後、ログインをクリックして下さい。<br /> 98<br/> 99<table border="0" align="left"> 100<tr> 101<th align="right">ユーザーID</th> 102<td> 103<input id="user" type="text" name="user" value="" maxlength="30" /> 104</td> 105</tr> 106<tr> 107<th align="right">パスワード</th> 108<td> 109<input id="pass" class="action" type="password" name="password" value="" maxlength="30" /> 110</td> 111</tr> 112<tr> 113<td colspan="2"> 114<input type="submit" id="submit" value="ログイン"/> 115</td> 116</tr> 117</table> 118</form> 119<jsp:include page="/page/_F_login.jsp"/> 120</body> 121</html>
おそらく、
java
1Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
の部分かと思われるのですが、どのように対処していいかわかりません。
呼出し元は
Login.java
「WEB-INF/src/test/Login.java」
java
1package test; 2import java.io.IOException; 3 4public class MyLoginFilter implements Filter { 5・ 6・ 7 8String LoginPage = req.getContextPath() + "/page/Login.jsp"; 9・ 10・ 11// ログインしているための条件を判定します。 12if (!isLoggedIn.booleanValue()) { 13// 未ログインの場合、ログイン画面を表示 14if (!StringUtils.contains(req.getRequestURI(), LoginPage)) { 15res.sendRedirect(LoginPage); 16return; 17} 18 19}
「WEB-INF/lib/ojdbc8.jar」はあります。
初心者で、いろいろなサンプルを見て実装してみたのですが、どこが悪いのかわかりません。
ご教授宜しくお願いします。
回答1件
あなたの回答
tips
プレビュー