2016-12-13 1 views
0

내 Driver 클래스에 이미 속성 전자 메일이 있지만이 오류가 계속 발생합니다. 이것은 내 드라이버 클래스http 상태가 500입니다. 'pack1.Driver'유형의 bean에서 'email'속성에 대한 정보를 찾을 수 없습니다.

package pack1; 

import java.sql.*; 

public class Driver { 
private String name, email, password, contact; 
private char gender; 


public Driver() 
{ 
    name = ""; 
    email = ""; 
    password = ""; 
    contact = ""; 


} 



public void setDriverName(String name){ 
    this.name = name; 
} 

public void setDriverGender(char gender){ 
    this.gender=gender; 
} 

public void setDriverEmail(String email){ 
    this.email = email; 
} 

public void setDriverPassword(String password){ 
    this.password = password; 
} 

public void setDriverContact(String contact){ 
    this.contact = contact; 
} 

public String getDriverName(){ 
    return name; 
} 

public char getDriverGender(){ 
    return gender; 
} 

public String getDriverEmail(){ 
    return email; 
} 

public String getDriverPassword(){ 
    return password; 
} 

public String getDriverContact(){ 
    return contact; 

} 

public static boolean LoginDriver(String email, String password){ 
    boolean validate = false; 


    try{ 
     Connection con = DatabaseConnectionFactory.createConnection(); 
     Statement st = con.createStatement(); 

     PreparedStatement ps1 = con.prepareStatement("select * from driver  where Email=? and Password=? "); 

     ps1.setString(3, email); 
     ps1.setString(4, password); 
     ResultSet rs1 = ps1.executeQuery(); 
     validate = rs1.next(); 

     con.close(); 

    } 
    catch(Exception e){ 
     e.printStackTrace(); 
    } 

    return validate; 

} 



} 

이며,이 내 서블릿

package pack1; 

import java.io.IOException; 
import javax.servlet.*; 
import javax.servlet.RequestDispatcher; 
import javax.servlet.http.HttpServlet; 
import javax.servlet.http.HttpServletRequest; 
import javax.servlet.http.HttpServletResponse; 
import javax.servlet.http.HttpSession; 



/** 
* Servlet implementation class Servlet6 
*/ 
public class Servlet6 extends HttpServlet { 
private static final long serialVersionUID = 1L; 

/** 
* @see HttpServlet#HttpServlet() 
*/ 
public Servlet6() { 
    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 

    try{ 
     Driver driver = new Driver(); 

     driver.setDriverEmail(request.getParameter("email")); 
     driver.setDriverPassword(request.getParameter("password")); 

     if(Driver.LoginDriver(request.getParameter("email"), request.getParameter("password"))) 
     { 
      Driver dr = new Driver(); 
      dr.setDriverEmail(String.valueOf(request.getParameter("email"))); 
      dr.getDriverEmail(); 

      HttpSession sessionDriver = request.getSession(); 
      sessionDriver.setAttribute("email", dr.getDriverEmail()); 

      RequestDispatcher rd = request.getRequestDispatcher("DriverInfo.jsp"); 
      rd.forward(request, response); 

     } 
     else 
     { 
      RequestDispatcher rd3 = request.getRequestDispatcher("LoginFail.html"); 
      rd3.forward(request, response); 

     } 

    } finally {} 

} 

/** 
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) 
*/ 
protected void doPost(HttpServletRequest request, HttpServletResponse  response) throws ServletException, IOException { 
    // TODO Auto-generated method stub 
    doGet(request, response); 
} 

} 

마지막이 내 JSP 페이지

<%@ page language="java" contentType="text/html; charset=ISO-8859-1" 
    pageEncoding="ISO-8859-1"%> 
    <%@page import="pack1.Driver"%> 
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
<head> 
<title>AIRA Carpool</title> 
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> 
     <link rel="stylesheet" href="main style.css"> 
     <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/materialize/0.97.8/css/materialize.min.css"> 
     <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
     <script src="https://cdnjs.cloudflare.com/ajax/libs/materialize/0.97.6/js/materialize.min.js"></script> 
     <!--Let browser know website is optimized for mobile--> 
     <meta name="viewport" content="width=device-width, initial-scale=1.0"/> 
</head> 
<body> 
<center><img src = "aira.jpg" class = "companySize"/></center> 
    <nav> 
    <ul id="menu"> 
      <li><a href="main.html">HOME</a></li> 
      <li><a href="Login.jsp">LOGIN</a> 
      <li><a href="form.html">JOIN</a></li> 
      <li><a id="find">FIND</a></li> 
      <li><a href="contactUs.html">CONTACT US</a></li> 
      <li><a href="Rate.html">RATE US</a> 
     </ul> 
    </nav> 

    <jsp:useBean id = "driver" scope = "request" class = "pack1.Driver"></jsp:useBean> 


    <br><br> 
    <fieldset> 
    <legend>Login</legend> 
    <div class ="row"> 
    <div class="input-field col s6"> 
    <form action = "Servlet6" method = "POST"> 
    <input type = "email" id = "email" name = "email" value="<jsp:getProperty name="driver" property="email"/>"> 
    <label for = "email">Email</label> 
    </div></div> 
    <div class ="row"> 
    <div class="input-field col s6"> 
    <input type = "password" id = "password" name = "password" value="<jsp:getProperty name="driver" property="password"/>"> 
    <label for = "password">Password</label> 
    <input type = "submit" class = "btn waves-effect waves-light" value = "Submit"/> 
    </form> 
    </div></div></fieldset> 

</body> 
</html> 
여기

사람이있는 경우 오류 목록은 코드입니다 관심사 :

org.apache.jasper.JasperException: Cannot find any information on property 'email' in a bean of type 'pack1.Driver' 
    org.apache.jasper.runtime.JspRuntimeLibrary.getReadMethod(JspRuntimeLibrary.java:756) 
    org.apache.jasper.compiler.Generator$GenerateVisitor.visit(Generator.java:1220) 
    org.apache.jasper.compiler.Node$GetProperty.accept(Node.java:1131) 
    org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2392) 
    org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2444) 
    org.apache.jasper.compiler.Node$Visitor.visit(Node.java:2450) 
    org.apache.jasper.compiler.Node$Root.accept(Node.java:471) 
    org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2392) 
    org.apache.jasper.compiler.Generator.generate(Generator.java:3652) 
    org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:252) 
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:372) 
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:349) 
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:333) 
    org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:600) 
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:368) 
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:385) 
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:329) 
    javax.servlet.http.HttpServlet.service(HttpServlet.java:729) 
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) 

나는 소문자로 속성 이름을 넣는 해결책을 이미 시도했는데 왜 분명히 거기부터 속성 전자 메일을 찾을 수 없는지 이해할 수 없다. 내가 볼 수없는 뭔가가 있어야합니다. 너의 도움이 정말로 필요해. 사전에 감사합니다

귀하의 속성의 결과로 "driverEmail"라는
+1

자바 당 콩 규칙, 당신의 getter 및 setter는해야 재산과 같은 이름. (즉, setEmail vice setDriverEmail). 이 문제를 해결하는 방법이 있지만 실제로이 문제를 해결할 방법이 없기 때문에 협약을 따라야합니다. – rmlan

+0

@rmlan 오, 세상에 내가 실제로해야만하는 모든 것. 네가 내 목숨을 구해 주셔서 정말 고마워! –

답변

0

:

public void setDriverEmail(String email){ 
    this.email = email; 
} 

public String getDriverEmail(){ 
    return email; 
} 

가로 변경합니다 :

public void setEmail(String email){ 
    this.email = email; 
} 

public String getEmail(){ 
    return email; 
} 
관련 문제