Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/397.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 找不到有关属性';用户名';在类型为'的bean中;com.home.homeapp.actionform.LoginForm';_Java_Mysql_Eclipse_Ide_Jboss - Fatal编程技术网

Java 找不到有关属性';用户名';在类型为'的bean中;com.home.homeapp.actionform.LoginForm';

Java 找不到有关属性';用户名';在类型为'的bean中;com.home.homeapp.actionform.LoginForm';,java,mysql,eclipse,ide,jboss,Java,Mysql,Eclipse,Ide,Jboss,我正在为我的应用程序使用Eclipse Java EE IDE、JBOSS v5.0、Java 1.5.0_16版和MySQL v5.1.0版。我试图在JSP中使用Bean和Servlet对应用程序进行身份验证 我的步骤: 步骤:1创建一个网页“login.jsp”来登录用户 <html> <head> </head> <body> <form name="loginform" method="post" action="loginbean.

我正在为我的应用程序使用Eclipse Java EE IDE、JBOSS v5.0、Java 1.5.0_16版和MySQL v5.1.0版。我试图在JSP中使用Bean和Servlet对应用程序进行身份验证

我的步骤:

步骤:1创建一个网页“login.jsp”来登录用户

<html>
<head>
</head>
<body>
<form name="loginform" method="post" action="loginbean.jsp">
<br><br>
<table align="center"><tr><td><h2>Login Authentication</h2></td></tr></table>
<table width="300px" align="center" style="border:1px solid #000000;background-color:#efefef;">
<tr><td colspan=2></td></tr>
<tr><td colspan=2> </td></tr>
  <tr>
  <td><b>Login Name</b></td>
  <td><input type="text" name="userName" value=""></td>
  </tr>
  <tr>
  <td><b>Password</b></td>
  <td><input type="password" name="password" value=""></td>
  </tr>
  <tr>
  <td></td>
  <td><input type="submit" name="Submit" value="Submit"></td>
  </tr>
  <tr><td colspan=2> </td></tr>
</table>
</form>
</body>
</html>
步骤4:创建一个Servlet“login.java”来验证用户登录

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import javax.sql.*;
import java.sql.*;
public class login extends HttpServlet{ 
 public void doPost(HttpServletRequest request, HttpServletResponse response)
   throws ServletException,IOException{
  response.setContentType("text/html");
  PrintWriter out = response.getWriter();
  System.out.println("MySQL Connect Example.");
  Connection conn = null;
  String url = "jdbc:mysql://localhost:3306/";
  String dbName = "user_register";
  String driver = "com.mysql.jdbc.Driver";
  String userName = "root"; 
  String password = "root";
 String username="";
 String userpass="";
 String strQuery= ""; 
  Statement st=null;
  ResultSet rs=null;
  HttpSession session = request.getSession(true);
  try {
  Class.forName(driver).newInstance();
  conn = DriverManager.getConnection(url+dbName,userName,password);
  if(request.getParameter("username")!=null &&
     request.getParameter("username")!="" && request.getParameter("password")!=null &&
     request.getParameter("password")!="")
  {
  username = request.getParameter("username").toString();
  userpass = request.getParameter("password").toString();
  strQuery="select * from userregister where 
    username='"+username+"' and  password='"+userpass+"'";
 System.out.println(strQuery);
  st = conn.createStatement();
  rs = st.executeQuery(strQuery);
  int count=0;
  while(rs.next())
  {
  session.setAttribute("username",rs.getString(2));
  count++;
  }
  if(count>0)
  {
  response.sendRedirect("welcome.jsp");
  }
  else
  {
 response.sendRedirect("login.jsp");
  }
  }
  else
  {
 response.sendRedirect("login.jsp");
  }
  System.out.println("Connected to the database"); 
  conn.close();
  System.out.println("Disconnected from database");
  } catch (Exception e) {
  e.printStackTrace();
  }
  }
}
步骤:5创建网页“welcome.jsp”,在消息成功后显示消息

<HTML> 
<HEAD><TITLE>Welcome</TITLE></HEAD>  
<BODY>
<br><br><br><br>
<table align="center" style="border:1px solid #000000;">
<%
if(session.getAttribute("username")!=null && session.getAttribute("username")!="")
{
String user = session.getAttribute("username").toString();
%>
<tr><td align="center"><h1>Welcome <b><%= user%></b></h1></td></tr>
<%
}
%>
</table>
</body>
<html>
注意:JBoss Web/2.1.3.GA日志中提供了根本原因的完整堆栈跟踪

请帮帮我

问候 比乔伊

这看起来更像是JSP的问题。Bean属性名 以小写字母开头(除非您花费大量精力 换个方式)。最初的 按照约定,小写字母在getter和setter中显示为大写 姓名;例如,
getEmpName()
setEmpName(String)
将是 属性的getter和setter
“empName”

如果Jasper找不到bean类,那么它会这么说;如果是 甚至可以检查特定属性的存在,然后 已经反思了bean类

如果您创建的属性是大写的,这并不重要,但我建议您必须确保属性是小写的

public String getShipmentHeaderID() {
        return ShipmentHeaderID;
    }

    public void setShipmentHeaderID(String _ShipmentHeaderID) {
        ShipmentHeaderID = _ShipmentHeaderID;
    }

    public String getShipmentHeaderNumber() {
        return ShipmentHeaderNumber;
    }

    public void setShipmentHeaderNumber(String _ShipmentHeaderNumber) {
        ShipmentHeaderNumber = _ShipmentHeaderNumber;
    }


<td width="20%"><jsp:getProperty name="pBean" property="shipmentHeaderID" /></td>

<td width="20%"><jsp:getProperty name="pBean" property="shipmentHeaderNumber" /></td>
公共字符串getShipmentHeaderID(){
返回ShipmentHeaderID;
}
public void setShipmentHeaderID(字符串_ShipmentHeaderID){
ShipmentHeaderID=\u ShipmentHeaderID;
}
公共字符串getShipmentHeaderNumber(){
返回ShipmentHeaderNumber;
}
公共无效设置ShipmentHeaderNumber(字符串_ShipmentHeaderNumber){
ShipmentHeaderNumber=\u ShipmentHeaderNumber;
}

欢迎来到SO。在文章中输入代码时,请确保代码缩进4个空格,以便正确格式化。粘贴前将其缩进,或点亮代码并使用编辑器中的
{}
按钮。我在这篇帖子上替你处理了。
<HTML> 
<HEAD><TITLE>Welcome</TITLE></HEAD>  
<BODY>
<br><br><br><br>
<table align="center" style="border:1px solid #000000;">
<%
if(session.getAttribute("username")!=null && session.getAttribute("username")!="")
{
String user = session.getAttribute("username").toString();
%>
<tr><td align="center"><h1>Welcome <b><%= user%></b></h1></td></tr>
<%
}
%>
</table>
</body>
<html>
type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

org.apache.jasper.JasperException: org.apache.jasper.JasperException: Cannot find any information on property 'userName' in a bean of type 'com.home.homeapp.actionform.LoginForm'
    org.apache.jasper.runtime.JspRuntimeLibrary.handleSetProperty(JspRuntimeLibrary.java:667)
    org.apache.jsp.loginbean_jsp._jspService(loginbean_jsp.java:66)
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:369)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:322)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:249)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)

root cause

org.apache.jasper.JasperException: Cannot find any information on property 'userName' in a bean of type 'com.home.homeapp.actionform.LoginForm'
    org.apache.jasper.runtime.JspRuntimeLibrary.getWriteMethod(JspRuntimeLibrary.java:795)
    org.apache.jasper.runtime.JspRuntimeLibrary.handleSetProperty(JspRuntimeLibrary.java:664)
    org.apache.jsp.loginbean_jsp._jspService(loginbean_jsp.java:66)
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:369)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:322)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:249)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
Cannot find any information on property 'userName' in a bean 
of type 'com.home.homeapp.actionform.LoginForm'
public String getShipmentHeaderID() {
        return ShipmentHeaderID;
    }

    public void setShipmentHeaderID(String _ShipmentHeaderID) {
        ShipmentHeaderID = _ShipmentHeaderID;
    }

    public String getShipmentHeaderNumber() {
        return ShipmentHeaderNumber;
    }

    public void setShipmentHeaderNumber(String _ShipmentHeaderNumber) {
        ShipmentHeaderNumber = _ShipmentHeaderNumber;
    }


<td width="20%"><jsp:getProperty name="pBean" property="shipmentHeaderID" /></td>

<td width="20%"><jsp:getProperty name="pBean" property="shipmentHeaderNumber" /></td>