2015-09-03 4 views
1

Я использую Netbeans. Я создал пользователя и пароль для datatable. У меня проблемы с устранением неполадок для моего входа и пароля для доступа к другому файлу jsp. Он показывает мне статус HTTP 404 - не найден. В чем проблема?Извлеките пользователя и пароль из Datatable for Login

Ниже мой logincheck.jsp код:

<%@page contentType="text/html" pageEncoding="UTF-8"%> 

<%@ page language="Java" import="java.sql.*" %> 
<!DOCTYPE html> 

<body> 

<% 
String username = request.getParameter("username"); 
String password = request.getParameter("password"); 
String userType = request.getParameter("usertype"); 

String driver = "oracle.jdbc.driver.localDriver"; 
String dbURL = "jdbc:derby://localhost:1527/Parts "; 

String dbuser = "user"; 
String dbpassword = "password"; 

Connection theConnection = null; 
PreparedStatement theStatement = null; 

try { 

    Class.forName(driver); 

    theConnection=DriverManager.getConnection(dbURL,dbuser,dbpassword); 

    theStatement = theConnection.prepareStatement("select * from USERS"); 

    theStatement.setString(1,request.getParameter("username")); 
    theStatement.setString(2,request.getParameter("password")); 

    ResultSet theResult = theStatement.executeQuery(); 

    if(theResult.next()) 
     System.out.println("welcome.jsp"); 
    else 
     System.out.println("Failed"); 
} 
catch(Exception e) { 
    System.out.println("Exception occured! "+e.getMessage()+" "+e.getStackTrace()); 
} 
%> 
</body> 
+0

Где ошибка 404? – Steve

+0

показать статус на HTTP 404 - Не найден тип Сообщение о состоянии сообщенияНе найдено описание Запрошенный ресурс недоступен. Что мне делать? –

+0

Я имею в виду, на какой строке возникает ошибка? – Steve

ответ

0

Я думаю, что это может быть ошибка ...

theStatement = theConnection.prepareStatement("select * from USERS"); 

должно быть, как это ..

theStatement = theConnection.prepareStatement("select * from USERS where Username=? and Password=?) 

theStatement.setString(1,username); 
theStatement.setString(2,password); 
.. 
.. 

Позвольте мне знать, если это работает ....

+1

@Drew, 404 означает 'Страница не найдена на сервере' – Sategroup

+0

@Drew, возможно, вы правы. Возможно, он не имеет ничего общего с Query, потому что если в таблице «Пользователи» есть одна запись, тогда «theResult.next()» будет успешным и вызовет welcome.jsp. @Poh Chang Chien, вы должны проверить URL-адрес, когда приветствуется, jsp попал. Это определенно проблема пути. Ваш welcome.jsp должен быть на корневом уровне. Если нет, то вам нужно указать полный путь, начиная с корневого уровня. Например: 'http: // yoursite.com/path_to_welcome_jsp/welcome.jsp' – Sategroup

+0

Спасибо. :) theStatement = theConnection.prepareStatement («выберите * из ПОЛЬЗОВАТЕЛЕЙ, где Username = login и Password = password) .Это ошибка для этого оператора. –

0

получите запрос пользователя и пароль из базы данных по набору результатов.

String user=usertx.getText(); 
    char[] password=pswdtx.getPassword(); 
    String pswd=String.valueOf(password); \\here is important to put a char password in string.` 

1- мы называем требует имя пользователя и его пароль по: Resultset rs= stmt.excuteQuery("SELECT * FROM USERS WHERE NAME='"+user+"' AND PASSWORD='"+pswd+"'");
этот код получит только строку выбранного пользователя и его информацию по строке и установить его в (RS) .`

2- код rs.next():

while(rs.next()){ 
     rsuser=rs.getString("NAME");   //get user and set it in rsuser. 
     rspswd=rs.getString("PASSWORD");} //get password and set it in rspswd. 
     if ((user.equals(rsuser)) && (pswd.equals(rspswd))){ //the equevlant statment. 
     JOptionPane.showMessageDialog(null, "Username and Password exist");} 
     else { 
      JOptionPane.showMessageDialog(null, "Please Check Username and Password ");} 
     } 

здесь весь код:

private void submitActionPerformed(java.awt.event.ActionEvent evt) {          
    try { 
     String user=usertx.getText(); 
     char[] password=pswdtx.getPassword(); 
     String pswd=String.valueOf(password); 

     String rsuser=null; 
     String rspswd=null; 
     String Q="SELECT * FROM USERS WHERE NAME='"+user+"' AND PASSWORD='"+pswd+"'"; 
     rs=stmt.executeQuery(Q); 

     while(rs.next()){ 
     rsuser=rs.getString("NAME"); 
     rspswd=rs.getString("PASSWORD");} 
     if ((user.equals(rsuser)) && (pswd.equals(rspswd))){ 
     JOptionPane.showMessageDialog(null, "Username and Password exist");} 
     else { 
      JOptionPane.showMessageDialog(null, "Please Check Username and Password ");} 
     } 
    catch (SQLException ex) {ex.printStackTrace();}` 

}