description The server encountered an internal error () that prevented it from fulfilling this request.exception java.lang.NullPointerException
org.apache.struts2.impl.StrutsActionProxy.getErrorMessage(StrutsActionProxy.java:69)
com.opensymphony.xwork2.DefaultActionProxy.prepare(DefaultActionProxy.java:185)
org.apache.struts2.impl.StrutsActionProxy.prepare(StrutsActionProxy.java:63)
org.apache.struts2.impl.StrutsActionProxyFactory.createActionProxy(StrutsActionProxyFactory.java:39)
com.opensymphony.xwork2.DefaultActionProxyFactory.createActionProxy(DefaultActionProxyFactory.java:58)
org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:500)
org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:434)

解决方案 »

  1.   

    两个基本配置:struts.xml
    <?xml version="1.0" encoding="UTF-8"?>
     <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" "http://struts.apache.org/dtds/struts-2.3.dtd">  <struts>
     
      <package name="myStruts" extends="struts-default" >
      <action name="Login" class="com.j1.action.LoginAction">
      <result name = "error">pages/error.jsp</result>
      <result name = "success">pages/welcome.jsp</result>
      </action>
     
      </package>
     </struts>
      

  2.   

    web.xml\
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app version="3.0" 
    xmlns="http://java.sun.com/xml/ns/javaee" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
    http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">  <filter>
       <filter-name>struts2</filter-name>
       <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
      </filter>
      <filter-mapping>
       <filter-name>struts2</filter-name>
       <url-pattern>/*</url-pattern>
      </filter-mapping>
      
      <welcome-file-list>
        <welcome-file>pages/Login.jsp</welcome-file>
      </welcome-file-list>
    </web-app>感觉都没错,怎么就报上面的错误呢
      

  3.   

    <result name = "error">pages/error.jsp</result>
      <result name = "success">pages/welcome.jsp</result>
    改为
    <result name = "error">/pages/error.jsp</result>
      <result name = "success">/pages/welcome.jsp</result>
    路径前再加一个斜杠看看!
      

  4.   

    没用,我刚去再试了一下,都不行。我只是做一个简单的例子,页面如下:<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
    <%@ taglib prefix="s" uri="/struts-tags"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head>
      
        <title>登陆页面</title>
        
    <meta http-equiv="pragma" content="no-cache">
    <meta http-equiv="cache-control" content="no-cache">
    <meta http-equiv="expires" content="0">    
    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    <meta http-equiv="description" content="This is my page">
      </head>
      
      <body> 
      <s:form action = "Login">
       <s:textfield label="用户名" name="username" />
       <s:textfield label="密 码" name="password"></s:textfield>
       <s:submit value="登陆" /> 
      </s:form>
      </body>
    </html>
    action 如下:
    package com.j1.action;public class LoginAction {

    private String username ;
    private String password;

    public String getUsername(){
    return username;
    }
    public void setUsername(String username){
    this.username = username;
    }
    public String getPassword() {
    return password;
    }
    public void setPassword(String password) {
    this.password = password;
    }

    public String execute()throws Exception{

    if("gyj".equals(getUsername())&&"123".equals(getPassword())){
    return "success";
    }else{
    return "error";
    }
    //return "success";
    }
    }
    、========================\
    真想不明白为什么?
      

  5.   

    web.xml中配置filter时,没有指定actionPackages.............
    之前你定义过
    <package name="myStruts" extends="struts-default" >
      <action name="Login" class="com.j1.action.LoginAction">
      <result name = "error">pages/error.jsp</result>
      <result name = "success">pages/welcome.jsp</result>
      </action>
      
      </package>
    这个包
      

  6.   

    要怎么指定??我之前是写默认的:
    <package name="default" extends="struts-default">这么写依然不行啊。。
    好抓狂!!
      

  7.   

    如果这是你的第一个struts2程序,请检查你所导入的lib目录中的jar文件是否正确。该程序本身没有问题,已验证。。另外一个无关紧要的提醒:如果请求页面和welcome.jsp、result.jsp不在同一个目录下,3楼的提醒就非常有必要了。。
      

  8.   

    感谢各位了终于找到原因了。
    我把struts.xml放在web-inf/下了。。
    现在我把它移到src目录下就可以了。。