Код: Выделить всё
package com.cid_org.model;
import java.sql.*;
public class LoginModelPOJO {
private String username;
private String password;
private Connection connection;
public LoginModelPOJO(String username, String password, Connection connection){
this.username = username;
this.password = password;
this.connection = connection;
validate();
}
private void validate(){
try {
String query = "SELECT * FROM CRIME_SOLVING_OFFICIAL where OFFICIAL_USERNAME=? and OFFICIAL_PASSWORD=?";
PreparedStatement ps = connection.prepareStatement(query);
ps.setString(1, username);
ps.setString(2, password);
ResultSet rs = ps.executeQuery();
if (rs.next()) {
// String name=rs.getString(3);
System.out.println("success");
} else {
System.out.println("access denied");
}
} catch (Exception e) {
System.out.println("Connection " + e);
}
}
}
Код: Выделить всё
Connection java.sql.SQLException: ORA-00904: "PASSWORD": invalid identifier
Вот изображение

Кстати, я знаю, что этот вопрос будет помечен как повторяющийся вопрос, и это действительно так, но к вашему сведению, я просмотрел все доступные сообщения, связанные с этим вопросом (на картинке вы можете видеть все вкладки, открытые в Firefox), но не смогли найти никакого ответа.
Изменить: я заставил все строки «пароль» исчезнуть, чтобы загнать в угол идентификатор «PASSWORD», о котором говорит Исключение. И я также изменил имя столбца OFFICIAL_PASSWORD на OFFICIAL_PWD, просто чтобы быть уверенным в этом.
Вот форма login.html,
Код: Выделить всё
Criminal Investigation Department-Home
[img]css/images/logo/CID_Logo_1.png[/img]
[url=most_wanted.html]Most Wanted[/url]
[url=hotnews.html]Hot News[/url]
[url=report_crime.html]Report Crime[/url]
[url=login.html]Login[/url]
[url=about.html]About Us[/url]
[url=contact.html]Contact Us[/url]
[url=safety_measures.html]Safety Measures[/url]
Login
Username:
Password:
Вот сервлет контроллера,
Код: Выделить всё
package com.cid_org.controller;
import java.io.IOException;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.cid_org.model.*;
import java.sql.*;
/**
* Servlet implementation class LoginControllerServlet
*/
public class LoginControllerServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public LoginControllerServlet() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
/*Take the data submitted by the user though the login
* form(Remember the HTTP Post request ->HttpServletRequest request object*/
String username = request.getParameter("username");
String pwd = request.getParameter("pass");
System.out.println(username + "aaa");
System.out.println(pwd);
Connection connection = (Connection)getServletContext().getAttribute("connection_context_param");
LoginModelPOJO lmpojo = new LoginModelPOJO(username, pwd, connection);
boolean isValidFlag = lmpojo.isValid();
if(isValidFlag){
RequestDispatcher view =request.getRequestDispatcher("view_profile.jsp");
view.forward(request, response);
}
else{
response.sendRedirect("/CrimeReportingSystem/static/login_access_denied.html");
}
}
}
Код: Выделить всё
package com.cid_org.model;
import java.sql.*;
public class LoginModelPOJO {
private String username;
private String pwd;
private Connection connection;
private boolean isValidFlag;
public LoginModelPOJO(String username, String pwd, Connection connection){
this.username = username;
this.pwd = pwd;
this.connection = connection;
isValidFlag=false;
validate();
}
private void validate(){
try {
String query = "SELECT * FROM CRIME_SOLVING_OFFICIAL where OFFICIAL_USERNAME=? and OFFICIAL_PWD=?";
PreparedStatement ps = connection.prepareStatement(query);
ps.setString(1, username);
ps.setString(2, pwd);
ResultSet rs = ps.executeQuery();
if (rs.next()) {
// String name=rs.getString(3);
System.out.println("success");
isValidFlag = true;
} else {
System.out.println("access denied");
}
} catch (Exception e) {
System.out.println("Connection " + e);
}
}
public boolean isValid(){
return isValidFlag;
}
}
Код: Выделить всё
package com.cid_org.listener;
import java.sql.*;
import javax.servlet.*;
/*This listener will initialize a connection and set the context
* attribute reference with a string at the time of application deployment time or
* when the ServletContext will be initialized*/
public class DatabaseServletContextListener implements ServletContextListener {
Connection connection = null;
public void contextInitialized(ServletContextEvent event) {
ServletContext sc = event.getServletContext();
try{
Class.forName("oracle.jdbc.driver.OracleDriver");
connection = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:XE", "system", "java");
System.out.println("la la la ...");
//Set the Attribute for the connection
sc.setAttribute("connection_context_param", connection);
}
catch(Exception e){
//To be decided Later- I dislike "checked" exceptions
System.out.println("conn...bzzz "+e);
}
}
public void contextDestroyed(ServletContextEvent event) {
try {
/*Connection will be closed at the time of undeployment of the application or
* when the context is destroyed*/
connection.close();
} catch (Exception e) {
System.out.println("connection pika fucked " + e);
}
}
}
Мобильная версия