首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2EE开发 >

SSH 提示找不到Action解决思路

2012-09-10 
SSH提示找不到Action这是LoginAction.javaJava codepackage com.ss.struts2.lab1.actionpublic class Log

SSH 提示找不到Action
这是LoginAction.java

Java code
package com.ss.struts2.lab1.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("sise".equals(username) && "admin".equals(password))            return "suc";        return "login";    }}


login.jsp

Java code
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"    pageEncoding="ISO-8859-1"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Login</title></head><body>    <form action="login.action" method="post">        <input type="text" name="username" />        <input type="password" name="password" />        <input type="submit" value="LOGIN" />    </form></body></html>


welcome.jsp

Java code
<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html>  <head>        <title>My JSP 'index.jsp' starting page</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">    <!--    <link rel="stylesheet" type="text/css" href="styles.css">    -->  </head>    <body>    <font color="red">Login scueed!</font>  </body></html>


struts.xml
XML code
<?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="Lesson1"  namespace="/"  extends="struts-default">        <action name="login" class="com.ss.struts2.lab1.action.LoginAction">            <result name="login">/login.jsp</result>            <result name="suc">/welcome.jsp</result>        </action>    </package></struts>


web.xml
XML code
<?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">    <display-name></display-name>    <filter>        <filter-name>struts2</filter-name>        <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>    </filter>    <filter-mapping>        <filter-name>struts2</filter-name>        <url-pattern>/*</url-pattern>    </filter-mapping>    <welcome-file-list>        <welcome-file>login.jsp</welcome-file>    </welcome-file-list></web-app> 



struts.xml是放在src目录下,编译后自动在classes目录下生成
今天刚刚开始学SSH,百度也有一样的错误,但都不能解决,麻烦大家帮帮忙看看~~

[解决办法]
<%=path%>/login!execute.action;
地址换下
[解决办法]
namespace="/" 去掉
[解决办法]
<struts>
<package name="Lesson1" namespace="/" extends="struts-default">
<action name="login" class="com.ss.struts2.lab1.action.LoginAction" method="execute">
<result name="login">/login.jsp</result>
<result name="suc">/welcome.jsp</result>
</action>
</package>
</struts>

<form action="login.action" namespace="/" method="post">
<input type="text" name="username" />
<input type="password" name="password" />
<input type="submit" value="LOGIN" />
</form>

[解决办法]
程序能跑起来吗,是不是少了一个<include file="struts-default.xml"/>,加到struts.xml试试
[解决办法]
问题找到
看了你的项目发现了问题:
你找不到action 肯定是配置文件的问题,因为所有action都在里面配置
你文件内容没有错,所以你一直找不到原因
错的是你的配置文件名struts.xml
你的文件名确实 structs.xml
拼写多了个c, 马虎了吧

热点排行