只是新建了一个web project,运用了struts技术,以下是各个页面代码:
web.xml:<servlet>
    <servlet-name>action</servlet-name>
    <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>action</servlet-name>
    <url-pattern>*.do</url-pattern>
  </servlet-mapping>struts-config.xml:<struts-config>
  <form-beans />
  <global-exceptions />
  <global-forwards />
  <action-mappings>
  <action path="/a" scope="request" type="a/a"></action>
  </action-mappings>
  <message-resources parameter="com.yourcompany.struts.ApplicationResources" />
</struts-config>a.java(a是继承自Action的子类):public class a extends Action { @Override
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
HttpSession session=request.getSession(false);
if(session==null)
{
System.out.print("null");
}
else
{
System.out.print("!null");
}
return null;
}
}
我访问的地址是:http://localhost:8080/a/a.do
为什么会报此错误:org.apache.struts.chain.commands.InvalidPathException: No action config found for the specified url.
难道不能直接访问Action吗?必须通过jsp的form表单中的action地址才可以吗?

解决方案 »

  1.   

    <action path="/a" scope="request" type="a/a"> </action> type="包名.类名"http://localhost:8080/项目名/action的path名.do 
      

  2.   

    忘记说了,我的项目名称叫做a,我的包名同样也叫做a,我的action名还叫做a
      

  3.   

    type="a/a"错误 type应该写你action的完整类名   例如com.a
      

  4.   


    那你也不能用a/a  应该是a.a    其中前面的a是包名  后面的a是类名   不过大哥你也太不规范了  类目至少该首字母大写 而且包名也过于简单
      

  5.   


    你给个包吧(com.struts.test.action),测试也不能太 
    type="com.strust.test.action.a"
      

  6.   

    ok总算搞定了,谢谢二位,不过还有一个问题就是,为什么我输出的是“!null”呢?
      

  7.   

    我在第一次new一个session的时候里面写的是false,应该返回null才对,但是为什么这个session不是null?
      

  8.   


    tomcat已经为你创建好session了
      

  9.   

    那用HttpSession session=request.getSession(true);创建岂不是每次都多new一个session而不用tomcat的session?那不是浪费资源吗?为什么还要用true? 
      

  10.   


    Session里保存着都是会话级别的信息,假如用户登陆了,会把用户表示和基本信息放入会话中,用户注销了还会话信息删除,或者是重新在获得一个session,这就是 true 的意思!
      

  11.   

    呵呵,有点不明白,一个session中不可以保存多个用户信息吗?为什么要将session注销掉?
      

  12.   


    晕 一个session代表打开一个浏览器会话,它保存一个用户的信息,怎么能保存多个呢!