登録テーブル reg1 を作成し、すべての登録ユーザーの値を HTML ファイルから保存しました。これで、ユーザーがユーザー名を入力して入力したデータを表示できる HTML でログイン ページを作成しました。ユーザー「bbb」を作成し、彼のユーザー名のみを表示したいので、次のような一般的な Java コードを作成しました。
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class Check extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
String username=request.getParameter("username");
try{
Class.forName("oracle.jdbc.driver.OracleDriver");
String url="jdbc:oracle:thin:@localhost:1521:XE";
Connection con=DriverManager.getConnection(url,"system","root");
Statement stmt=con.createStatement();
ResultSet rs=stmt.executeQuery("select uname from reg1");
while(rs.next())
{
String name=rs.getString("uname");
if(name==username)
{
response.setContentType("text/html");
PrintWriter pw=response.getWriter();
pw.println("Your User name is:"+username);
// System.out.println(""+name);
}
con.commit();
}
stmt.close();
}
catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
次のようなエラーが発生していますjava.sql.SQLException: Closed Statement: next
表は次のようになります。
FNAME LNAME ADDR MAIL OCCU UNAME PASSWD aaa aaa aaaa aaa aaaa bbb cccc bkgkb jjv jhvjmh jjkg jvjv jvjvh bjbmb
これを解決するのを手伝ってください!!