异常如下:
严重: Servlet.service() for servlet jsp threw exception
javax.servlet.jsp.JspException: Exception creating bean of class com.struts.formBean.BgLoginForm: {1}
at org.apache.struts.taglib.html.FormTag.initFormBean(FormTag.java:487)
at org.apache.struts.taglib.html.FormTag.doStartTag(FormTag.java:457)
at org.apache.jsp.BgLogin_jsp._jspService(BgLogin_jsp.java:156)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454)
at java.lang.Thread.run(Thread.java:595)
待会上代码。

解决方案 »

  1.   

    http://topic.csdn.net/u/20090414/10/18a2bac8-e5fb-41a3-8fcd-3eccc9faa61b.html看这个帖子 跟你的问题一样。
      

  2.   

     1.配置文件:
    <form-bean name="bgloginForm" type="com.struts.formBean.BgLoginForm"></form-bean>
    <action path="/bgLogin" type="com.struts.action.BgLoginAction" name="bgloginForm">
     <forward name="BgIndex" path="/BgIndex.jsp"></forward>   <forward name="BgLogin" path="/BgLogin.jsp"></forward  </action>
    2. 
    public class BgLoginForm extends ActionForm { private String yanzheng;
    private String level;
    private String name;
    private String password;
    private String verifycode2; @Override
    public ActionErrors validate(ActionMapping mapping,
    HttpServletRequest request) { ActionErrors errors = new ActionErrors(); if (name == null || name.equals("")) {
    errors.add("name", new ActionMessage("bgLogin.error.name"));
    } if (password == null || password.equals("")) {
    errors.add("password", new ActionMessage("bgLogin.error.password"));
    } if (yanzheng == null || yanzheng.equals("")) {
    errors.add("yanzheng", new ActionMessage("bgLogin.error.yanzheng"));
    } else if (!yanzheng.equals(verifycode2)) {
    errors.add("yanzheng", new ActionMessage("bgLogin.error.yanzheng1"));
    } request.setAttribute("bgLoginFormBean", this);
    return errors;
    }3.
    BgLoginAction.java 
    package com.struts.action;import javax.servlet.ServletContext;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import javax.servlet.http.HttpSession;import org.apache.struts.action.Action;
    省略。
    com.struts.formBean.BgLoginForm;public class BgLoginAction extends Action { @Override
    public ActionForward execute(ActionMapping mapping, ActionForm form,
    HttpServletRequest request, HttpServletResponse response)
    throws Exception {

    BgLoginForm bgLoginForm =(BgLoginForm)form;

    String method =request.getParameter("method");
    ActionErrors errors =new ActionErrors();
    ActionForward forward =new ActionForward();
    ServletContext context =this.servlet.getServletContext();

    String password =bgLoginForm.getPassword();
    String username=bgLoginForm.getName();
    String level =bgLoginForm.getLevel();

    HttpSession session =request.getSession(false);
    if(session!=null){
    session.invalidate();
    }  

    session =request.getSession(true);

    if(method.equals("bg")){

    TbManagerDAO tbManagerDAO=new TbManagerDAO();
    TbManager tbManager =new TbManager();
        tbManager =tbManagerDAO.valid(username, password, level); 
    if(tbManager!=null){
    session.setAttribute("BgLogin", tbManager);
    return mapping.findForward("BgIndex");/*登录成功,就进入后台管理页面*/
    }
    else {
    errors.add(ActionErrors.GLOBAL_MESSAGE,new ActionMessage("bgLogin.message.failed"));
    context.setAttribute("info1", "用户名或密码或权限选择不正确!");
    return mapping.findForward("BgLogin"); /*登录失败,就重新进入登录页*/
    }
    }

        else if{省略。}
    return null;
    }
    }4.
    资资源文件
    # page error
    #=========================================================================
    # login.jsp
    bgLogin.page.title=\u767B\u5F55\u7A97\u53E3
    bgLogin.page.name=\u7528\u6237\u540D
    bgLogin.page.password=\u5BC6\u7801
    bgLogin.page.yanzheng=\u9A8C\u8BC1\u7801
    bgLogin.page.login=\u767B\u5F55
      

  3.   

    5 jsp页面:
    <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
    <%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean"%> 
    <%@ taglib uri="http://struts.apache.org/tags-html" prefix="html"%>
     <%@ taglib uri="http://struts.apache.org/tags-logic" prefix="logic"%>
    <%@ taglib uri="http://struts.apache.org/tags-nested" prefix="nested"%>
    <%
    String path = request.getContextPath();
    String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
    %><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head>
        <base href="<%=basePath%>">
     <title>My JSP 'BgLogin.jsp' starting page</title>
    <style>
    <!--
    body{
    margin:0px;
    text-align:center;
    }
    #container{text-align:center;
    }
    .div_a{height:100px;
    }
    .div_b{
    width:500px;
    height:400px;
    background:url(images/td.jpg)
    }
    .div_b_a{
    width: 500px;
    height:120px; }.div_b_b_b{
    width: 500px;
    height:280px; 
    }
    -->
    </style>  </head>
      <%String str=(String)this.getServletContext().getAttribute("info1");  %>
      
      <body bgcolor="#6aa276">
      
        <div id="container" align="center">
    <div class="div_a">
    </div>
    <div class="div_b" align="center">
    <div class="div_b_a"></div><div class="div_b_b_b" >
    <html:form action="/bgLogin.do?method=bg" method="post">
    <table>
    <tr height="15">
    <td>姓名:</td>
    <td>
    <logic:present name="bgLoginFormBean">
    <html:text property="name" name="bgLoginFormBean"/>
    </logic:present>
    <logic:notPresent name="bgLoginFormBean">
    <input type="text" name="name">
    </logic:notPresent>
    </td>
    </tr><tr height="10">
    <td>
    </td>
    <td>
    <html:errors property="name"/>
    </td>
    </tr><tr height="15">
    <td>密码:</td>
    <td>
    <logic:present name="bgLoginFormBean">
    <html:text property="password" name="bgLoginFormBean"/>
    </logic:present>
    <logic:notPresent name="bgLoginFormBean">
    <input type="password" name="password">
    </logic:notPresent>
    </td>
    </tr><tr height="15">
    <td>验证码:</td>
    <td>
    <%
    int intmethod=(int)((((Math.random())*11))-1);
    int intmethod2=(int)((((Math.random())*11))-1);
    int intmethod3=(int)((((Math.random())*11))-1);
    int intmethod4=(int)((((Math.random())*11))-1);
     String intsum =intmethod+""+intmethod2+intmethod3+intmethod4;
     //将得到的随机数进行连接
     %>
    <logic:present name="bgLoginFormBean">
    <html:text property="yanzheng" name="bgLoginFormBean"/>
    </logic:present>
    <logic:notPresent name="bgLoginFormBean">
    <input type="text" name="yanzheng">
    </logic:notPresent><!-- 设置隐藏域 |用来作验证对比 -->
    <input type="hidden" name="verifycode2" value="<%=intsum%>">
    <span>
    <font size="+1" color="#FF0000">
    <!-- 将图片名称与得到的随机数相同的图片显示到页面上 -->
    <img alt="" src=num/<%=intmethod %>.gif>
    <img alt="" src=num/<%=intmethod2 %>.gif>
    <img alt="" src=num/<%=intmethod3 %>.gif>
    <img alt="" src=num/<%=intmethod4 %>.gif>
    </font>
    </span>
    </td>
    </tr><tr height="15">
    <td>
    权 限:
    </td>
    <td>
    <html:select property="level">
          <html:option value="0">系统管理员</html:option>
          <html:option value="1">用户管理员</html:option>
          <html:option value="2">房产管理员</html:option>
          <html:option value="3">合同管理员</html:option>
          
         
          </html:select>
          <html:errors property="level"/><br/>
    </td>
    </tr>

    <tr height="15">
    <td>
    </td>
    <td height="15">
    <html:submit value="登录"/>
    <html:button  property="bu" value="重置"></html:button>
    </td>

    </tr>
    </table>
    <!-- 错误点
     -->
     <html:errors property="org.apache.struts.action.GLOBAL_MESSAGE"/>
     
    <br>
    <%
    if(str!=null){
    getServletContext().removeAttribute("info1");
    out.println("<font color='red'>"+str+"</font>");
    }
     %>
     </html:form>
     
     
     </div>
     
     </div>
     
     </div>
     
     
      </body>
    </html>