struts2的问题HTTP Status 404 - There is no Action mapped for action name register.

zhangyaobo1 2014-12-23 04:58:57
我的jsp<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>

<link href="css/bootstrap.min.css" rel="stylesheet" type="text/css" />
<script type="text/javaScript" src="js/jquery-1.9.1.min.js"> </script>
<script type="text/javaScript" src="js/bootstrap.min.js"></script>


<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">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>

<div class="container-fluid">
<div class="row-fluid">

<div class="span12">
<h3 class="text-center">
在线考试管理系统
</h3>
<ul class="nav nav-tabs">
<li class="active">
<a href="#">首页</a>
</li>

<li>
<a href="#">登录</a>
</li>
<li>
<a href="#">退出</a>
</li>
<li>
<a href="register/register">注册</a>
</li>
<li class="dropdown pull-right">
<a class="dropdown-toggle" data-toggle="dropdown" href="#">快捷操作</a>
<ul class="dropdown-menu">
<li>
<a href="#">密码找回</a>
</li>


</ul>
</li>
</ul>
</div>
</div>
</div>

<body>
<br>
</body>
</html>
我的 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="default" extends="struts-default" namespace="register">
<action name="register" class="com.zyb.action.Register">
<result name="ok">register.jsp</result>
</action>
</package>
</struts>
我的action类
package com.zyb.action;

import com.opensymphony.xwork2.ActionSupport;

public class Register extends ActionSupport {

/**
*
*/
private static final long serialVersionUID = 1L;

public String execute(){
return "ok";
}

}
---------------------------------------action找不到?求解释。谢谢
...全文
334 13 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
吹疯鸡 2015-03-04
  • 打赏
  • 举报
回复
/register貌似正解
踏 浪 2015-03-04
  • 打赏
  • 举报
回复
首先观察你页面上注册的链接写对吗?namespace好像应该是/register
baidu_23585839 2015-03-04
  • 打赏
  • 举报
回复
大神你好。我在学习java,你的这个在线考试系统能不能给我借鉴 1340517737@qq.com
踏 浪 2015-01-06
  • 打赏
  • 举报
回复
namespace改为/register,应该可以了
microhex 2014-12-25
  • 打赏
  • 举报
回复
哥们 你的 <base><%=basePath%></base> 好像没写啊 那就得要用绝对地址啊
shixitong 2014-12-24
  • 打赏
  • 举报
回复
struts这个配置文件是个错误 但是不管换几个版本,只要你不改变一开始你配置的namespace,然后你那个jsp还是放在webroot下面,肯定还是找不到
zhangyaobo1 2014-12-24
  • 打赏
  • 举报
回复
我的是因为jar包的版本不对,,我用A版本写了个action然后importA的东西。。。发现不行找不到。然后换用B版本,结果还是找不到。其实我把那个Struts.xml首字母大写了。然后改成小写。在启动tomcat发现,自动弹出debug。我又把Action类从新写了一下,就OK了。。。 namespace不写相当于有个/
shixitong 2014-12-23
  • 打赏
  • 举报
回复
引用 2 楼 u010175788 的回复:
放在webroot下面了
那就对了,你在配置文件中指定了namespace=register <package name="default" extends="struts-default" namespace="register"> 那么struts找的时候,会先找register/register.action,然后再到默认命名空间下找register.action也是没有的 而此时你的文件在webroot下,对应的是默认默认命名空间 所以此时解决方法,要么去掉namespace="register",要么把这个jsp放在webroot/register目录下
俊子JY 2014-12-23
  • 打赏
  • 举报
回复
你的web.xml怎么配,过滤器那里,会不会配了后缀.do,访问url却没加.do <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/*.do</url-pattern> </filter-mapping>
wrong1111 2014-12-23
  • 打赏
  • 举报
回复
看下你的配置吧,一般找不到ACTION,都是配置未配好导致的。。
zhangyaobo1 2014-12-23
  • 打赏
  • 举报
回复
放在webroot下面了
shixitong 2014-12-23
  • 打赏
  • 举报
回复
你的jsp放在哪个目录下面的?

81,122

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧