(/struts2qs/Login.action) is not available
根据出错提示,是找不到这个Login的action,检查下Login.action的配置,注意大小写
根据出错提示,是找不到这个Login的action,检查下Login.action的配置,注意大小写
解决方案 »
- servlet提交表单,编译失败
- 实现电脑访问服务器默认是不同的主界面,请指点
- 看看我对 struts spring ORM框架 关系的理解对不对
- 急急急!!hibernate发出sql语句出错 列名出错'trade0_.accountID_accountID'
- 搭建框架问题
- yuyejiewu
- asp 调用java的webservices
- 求一条ejb-ql语句
- 求助:findByPrimaryKey问题。
- 请有经验的朋友给个思路,关于通过ejb修改数据库记录。100分送上!bow
- 有偿请人解决FCKeditor for java上传图片乱码问题
- Hibernate --- Could not parse mapping document from input stream 怎么回事?
<?xml version="1.0" encoding="GBK"?>
<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<!-- 定义Struts2的FilterDispathcer的Filter -->
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
</filter> <!-- FilterDispatcher用来初始化struts2并且处理所有的WEB请求。 -->
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping></web-app>
提交页面的代码是:
<%@ page language="java" contentType="text/html; charset=GBK"%>
<html>
<head>
<title>登录页面</title>
</head>
<body>
<form action="Login.action" method="post">
<table align="center">
<caption><h3>用户登录</h3></caption>
<tr>
<td>用户名:<input type="text" name="username"/></td>
</tr>
<tr>
<td>密 码:<input type="text" name="password"/></td>
</tr>
<tr align="center">
<td colspan="2"><input type="submit" value="登录"/><input type="reset" value="重填" /></td>
</tr>
</table>
</form>
</body>
</html>
希望知道的回复~~~
把你Struts中的配置文件都调出来!
应该是你的路径写错了!
如果你请求的Action是Login.action的话就必须在配置文件"Struts-Config"中配置一样的action-mappings!要是还不明白就把那个Struts-Config文件打出来!
xwork.xml
<!DOCTYPE xwork PUBLIC "-//OpenSymphony Group//XWork 1.0//EN" "http://www.opensymphony.com/xwork/xwork-1.0.dtd"><xwork>
<include file="webwork-default.xml" />
<package name="default" extends="webwork-default">
<interceptors>
<interceptor-stack name="modelParamsStack">
<interceptor-ref name="params" />
<interceptor-ref name="model-driven" />
</interceptor-stack>
</interceptors>
<action name="login"
class="com.dhcc.webwork.action.LoginAction">
<result name="success" type="dispatcher">
<param name="location">/main.jsp</param>
</result>
<result name="loginfail" type="dispatcher">
<param name="location">/index.jsp</param>
</result>
<interceptor-ref name="modelParamsStack" />
</action>
</package>
</xwork>web.xml
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<display-name>webwork</display-name>
<filter>
<filter-name>webwork</filter-name>
<filter-class>
com.opensymphony.webwork.dispatcher.FilterDispatcher
</filter-class>
</filter>
<filter-mapping>
<filter-name>webwork</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<servlet>
<servlet-name>freeer</servlet-name>
<servlet-class>
com.opensymphony.webwork.views.freeer.FreeerServlet
</servlet-class>
</servlet> <servlet-mapping>
<servlet-name>freeer</servlet-name>
<url-pattern>*.ftl</url-pattern>
</servlet-mapping> <taglib>
<taglib-uri>webwork</taglib-uri>
<taglib-location>/WEB-INF/webwork.tld</taglib-location>
</taglib>
</web-app>
希望对你有帮助
jsp文件中<form action= "Login.action " method= "post ">
如果不用struts2的标签,那么action名称应该是完整路径名 /webName/xxx.action
.....
</action>
以及目录是怎么安排的? lib下放了哪几个jar文件?
<?xml version="1.0" encoding="GBK"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<package name="lee" extends="struts-default">
<action name="Login" class="lee.LoginAction">
<result name="error">/error.jsp</result>
<result name="success">/welcome.jsp</result>
</action>
<action name="GetBooks" class="lee.GetBooksAction">
<result name="login">/login.jsp</result>
<result name="success">/showBook.jsp</result>
</action>
</package>
</struts>LoginAction.java的代码是:
package lee;import com.opensymphony.xwork2.Action;
import com.opensymphony.xwork2.ActionContext;
/**
* @author yeeku.H.lee [email protected]
* @version 1.0
* <br>Copyright (C), 2005-2008, yeeku.H.Lee
* <br>This program is protected by copyright laws.
* <br>Program Name:
* <br>Date:
*/public class LoginAction implements Action
{
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 (getUsername().equals("scott")
&& getPassword().equals("tiger") )
{
ActionContext.getContext().getSession().put("user" , getUsername());
return SUCCESS;
}
else
{
return ERROR;
}
}
}
已经把所有的jar文件都放到lib下面了~~~
</s:form> struts.xml <action name= "Login " class= "lee.LoginAction ">
.....
</action>
struts.xml配置<package name="lee" namespace="/lee" extends="struts-default">
所有文件的代码都贴出来了~~~那位行行好,帮忙看看啊~~~
==========================================
如果是这样的话,你看看你的tomcat启动时显示的信息,应该连启动都不能正常的,不能将所有
jar都放去
一般放5个即可(后面跟的数字是版本号,可能不一样)
commons-logging-1.0.4.jar
freeer-2.3.8.jar
ognl-2.6.11.jar
struts2-core-2.0.11.jar
xwork-2.0.4.jar
<result name= "login">/login.jsp</result>
<result name= "success">/showBook.jsp</result>
</action> 这里说明两个问题:
1.你在有一个lee.GetBooksAction里面有个GetBooks的方法。
2.成功跳转到showbook.jsp.所以相应的,你必须有上面的东西,至于你的Action就不管你怎么做判断了。
值得注意的一点是:jsp是这样写的:<s:form action="Login" method="post">
</s:form>
上面是我的tomcat启动是的信息~~~怎么都没有加载struts的信息啊???
大家知道为什么吗??
我是把文件夹放在tomcat下root目录下的.要是把文件夹放在webapp下的话,那tomcat的启动信息就如下:
要具备‘多交流,多发言’,能互相讨论 和解决问题能力的有志人士,
不具备者,下岗。。本群号:22206225
2.把commons-logging-1.0.4.jar
freeer-2.3.8.jar
ognl-2.6.11.jar
struts2-core-2.0.11.jar
xwork-2.0.4.jar
(红色的视版本而定)加入lib文件夹下面
3.配置web.xml,如:<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4"
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<display-name>Struts2Example</display-name>
<filter>
<filter-name>Struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
</filter>
<filter>
<filter-name>struts-cleanup</filter-name>
<filter-class>org.apache.struts2.dispatcher.ActionContextCleanUp</filter-class>
</filter>
<filter-mapping>
<filter-name>Struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>struts-cleanup</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<welcome-file-list>
<welcome-file>/index.jsp</welcome-file>
</welcome-file-list>
</web-app>4.创建struts.xml文件,如:<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<package name="login" extends="struts-default">
<action name="Logon" class="com.lhzx.Logon">
<result type="redirect-action">/loginsuccess.jsp</result>
<result name="input">/error.jsp</result>
</action>
</package>
</struts>5.创建struts.properties配置文件
6.创建jsp文件<%@ page language="java" pageEncoding="gb2312"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<html>
<head>
<title>Logon</title>
<script type="text/javascript">
function CheckForm(){
var uname = document.forms[0].userName.value;
var upwd = document.forms[0].userPwd.value;
if(uname == ""){
alert("请输入用户名!");
return false;
}
if(upwd == ""){
alert("请输入密码!");
return false;
}
return true;
}
</script>
</head>
<body>
<s:form action="Logon" theme="simple" onsubmit="return CheckForm();">
<table width="200" border="1" cellpadding="0" cellspacing="0" align="center">
<tr>
<td height="25">
<div align="center">
Struts2.0的学习登陆
</div>
</td>
</tr>
<tr>
<td>
<div align="right">
用户名:
<s:textfield name="userName" size="14" />
</div>
</td>
</tr>
<tr>
<td>
<div align="right">
密 码:
<s:password name="userPwd" size="14" />
</div>
</td>
</tr>
<tr>
<td>
<div align="center">
<s:submit value="登陆" />
<s:reset value="取消" />
</div>
</td>
</tr>
</table>
</s:form>
</body>
</html>7.创建LoginAction.javapublic class Logon extends ActionSupport {
private String userName;
private String userPwd;
/**
* @return the userName
*/
public String getUserName() {
return userName;
} /**
* @param userName the userName to set
*/
public void setUserName(String userName) {
this.userName = userName;
} /**
* @return the userPwd
*/
public String getUserPwd() {
return userPwd;
} /**
* @param userPwd the userPwd to set
*/
public void setUserPwd(String userPwd) {
this.userPwd = userPwd;
} public String execute() throws Exception {
// TODO Auto-generated method stub
UserDao userDao = new UserDao();
if (userDao.isLogon(userName, userPwd) == true) {
return SUCCESS;
} else {
return INPUT;
}
}
改成
<result>/loginsuccess.jsp</result>