struts2 struts.xml中namespace问题

我在WebRoot下加了个文件其余代码很简单但总是报错Therequestedresource(/StrutsLogin/file/login)isnotavailabl... 我在WebRoot下加了个文件
其余代码很简单
但总是报错
The requested resource (/StrutsLogin/file/login) is not available.
不知道是哪里错了,请高手指教
struts.xml:
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">

<struts>
<package name="userManager" namespace="/file" extends="struts-default">
<action name="login" class="com.struts.LoginAction">
<result name="success">/Hello.jsp</result>
<result name="error">/index.jsp</result>
</action>
</package>
</struts>

first.jsp
<body>
<div align='center'>
<form name='form' action='login'>
<table>
<tr>
<td>用户名:</td>
<td><input type=text name='userName'></td>
</tr>
<tr>
<td>密 码:</td>
<td><input type=text name='passwored'></td>
</tr>
<tr>
<td colspan=2><input type='submit' name='button' value='提交'></td>
</tr>
</table>
</form>
</div>
</body>
com.strits.LoginAction:
package com.struts;

import com.opensymphony.xwork2.ActionSupport;

public class LoginAction extends ActionSupport {
private String userName;
private String passwored;

public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getPasswored() {
return passwored;
}
public void setPasswored(String passwored) {
this.passwored = passwored;
}

public String execute() throws Exception {
System.out.println("ssssssssssss");
if (userName.equals("tom") && passwored.equals("123")) {
return SUCCESS;
}
return ERROR;
}
}
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">

<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>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
展开
 我来答
walkingz
推荐于2016-01-06 · TA获得超过351个赞
知道答主
回答量:32
采纳率:0%
帮助的人:32.7万
展开全部
在struts.xml中
<package name="userManager" namespace="/file" extends="struts-default">

你设置的namespace=="/file"而你 根本就没有理解到 namespace的用法
namespace是指你的逻辑上的地址,而非在项目中的file文件
如果你的改成
<s:form name='form' action='/file/login'> 这样就对了
或者改成<s:form name='form' action='login' namespace="/file">

总结 namespace中的file 跟你 项目中的file不是一个意思哈。
你可以这样检验下我的结论:
把namespace的file变成f
然后<s:form name='form' action='/f/login'> 你就可以 得到结论了
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
舜昶顾思溪
2020-01-07 · TA获得超过3819个赞
知道大有可为答主
回答量:3089
采纳率:31%
帮助的人:188万
展开全部
理解为package就行
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lifeplayed
2010-03-27
知道答主
回答量:5
采纳率:0%
帮助的人:7637
展开全部
<struts>
<package name="userManager" namespace="/file" extends="struts-default">
<action name="login" class="com.struts.LoginAction">
<result name="success">/file/Hello.jsp</result>
<result name="error">/file/index.jsp</result>
</action>
</package>
</struts>

<form name='form' action='/file/login.action'>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式