struts2用最新的包就报错

问题描述

输入页index.jsp<%-- 使用Struts2标签库 --%> <%@ taglib prefix="s" uri="/struts-tags" %> <html> <head> <title>Hello World :: Struts2</title> </head> <body> <%-- 创建一个提交地址为名为helloworld的Action的表单 --%> <s:form action="helloWorld"> <%-- 创建一个文本域,表单提交后,该文本域的值会自动填充到 helloworld对应的Action对象的userName属性上 --%> <s:textfield name="userName" label="User Name"/> <%-- 创建一个提交按钮 --%> <s:submit/> </s:form> </body> </html> 对应的action public class HelloWorld{private String userName;private String message;public String execute() throws Exception{setMessage("hello," + getUserName());return "SUCCESS";}public String getMessage() {return message;}public void setMessage(String message) {this.message = message;}public String getUserName() {return userName;}public void setUserName(String userName) {this.userName = userName;}}struts.xml<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd"> <struts> <package name="default" extends="struts-default"> <action name="helloWorld" class="com.xiaodong.HelloWorld"> <result name="SUCCESS">/success.jsp</result> </action> </package> </struts> 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>我一访问就说找不到action,第一次写struts2的代码,实在找不到原因呢,报错信息:警告: Could not find action or resultThere is no Action mapped for namespace / and action name . - [unknown location]at com.opensymphony.xwork2.DefaultActionProxy.prepare(DefaultActionProxy.java:189)at org.apache.struts2.impl.StrutsActionProxy.prepare(StrutsActionProxy.java:61)at org.apache.struts2.impl.StrutsActionProxyFactory.createActionProxy(StrutsActionProxyFactory.java:39)at com.opensymphony.xwork2.DefaultActionProxyFactory.createActionProxy(DefaultActionProxyFactory.java:58)at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:488)at org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:434)at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:874)at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)at java.lang.Thread.run(Thread.java:595) 问题补充:肯定不是cheney_love说的那样吧,我表单里无论action的映射写成什么,我的配置文件里一致就得了吗

解决方案

<struts> <package name="default" namespace="/" extends="struts-default"> <action name="helloWorld" class="com.xiaodong.HelloWorld"> <result name="SUCCESS">/success.jsp</result> </action> </package> </struts> 把index.jsp 和 success.jsp 放到webroot下面,就可以了
解决方案二:
哦 你的index页面里面用了struts2标签的 所以还得按照/*来配置,我现在改动了一下你的项目 跑起来了。我的改动步骤如下: 1,把index.jsp这个页面提到webroot下面。 2,把你的struts.xml改成如下 <struts> <package name="default" extends="struts-default"> <action name="helloWorld" class="com.xiaodong.HelloWorld"> <result name="SUCCESS">/WEB-INF/success.jsp</result> </action> </package> </struts>
解决方案三:
你假如还没搞定 我把我给你的该过的例子发给你吧
解决方案四:
兄弟 我下载了你的代码 试了一下。你的web.xml里面不是配置了<filter-mapping><filter-name>struts2</filter-name><url-pattern>*.action</url-pattern></filter-mapping> 换成*.action的 而不是/* 2,webinf下面的页面是直接访问不到的 只有通过forward跳转才可以。所以你把你的首页放入到外面来
解决方案五:
像楼上说的:引用把index.jsp 和 success.jsp 放到webroot下面,就可以了这样就好了,作者可能没理解<welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> 和<result name="SUCCESS">/success.jsp</result> 这两段配置的路径含有,这两种都是以应用的上下文目录为相对目录的,就是WEB-INF的父目录。一般来说,你只需要把index页面放到上下文目录,而其他经Action返回的jsp应该放到WEB-INF下面,这样可以避免用户直接访问jsp。
解决方案六:
lz不认真呀,页面直接放在web-inf下面怎么能直接访问呢
解决方案七:
使用firebug查看你完整的访问路径,web开发多使用firebug
解决方案八:
<s:form action="helloWorld.action">

时间: 2024-10-03 18:37:42

struts2用最新的包就报错的相关文章

字节跳动-django实现**.zip包下载报错内存使用过大

问题描述 django实现**.zip包下载报错内存使用过大 django实现**.zip包下载报错内存使用过大 各位朋友们好: 我使用django的功能想实现下载一个大的**.zip包的功能,该包大小差不多1个G 网上查了一些方法:本来是准备用遍历文件目录逐个文件打包的,但是我需要打包的文件很多,用这个方法很慢,而且由于我里面有中文文件,遍历文件路径还会报错.因此我选择了,直接我先把所有文件打包到名叫test.zip中,希望用django实现直接下载test.zip包的功能,但是尝试了好几次,

linux下运行python导入包cx_oracle报错ELFCLASS32

问题描述 linux下运行python导入包cx_oracle报错ELFCLASS32 linux运行python导入oracle包报错ELFCLASS32,linux平台是64bit,python也是64bitcx_Oracle网上下载应该不区分多少位吧?问题:这个报错是如何解决?请用linux和python的大神进 解决方案 你要看下 cx_oracle 是不是支持2.6.6版本,有可能不支持. 解决方案二: 参考:http://www.educity.cn/wenda/288024.htm

Struts2.5版本之后Tomcat启动报错问题

初次学习Struts2,本着学习最新版本知识的原则,使用了Struts2.5.5版本.使用2.1版本没有问题,但是2.5版本果然会报错,完全靠自学...我真是解决两个小时啊!对新手来说上手坑真的比较多... 1.导入lib,我们只需要导入一些最小依赖包,下面列出的是我导入的 commons-fileupload-1.3.2.jar commons-io-2.4.jar commons-lang3-3.4.jar commons-logging-1.1.3.jar freemarker-2.3.2

struts2新手求助,使用myeclipse8.5导入struts2.1后使用标签库报错

问题描述 jsp代码:<%@pagelanguage="java"import="java.util.*"pageEncoding="UTF-8"%><%@taglibprefix="s"uri="/struts-tags"%><html><head></head><body><s:formname="converter

struts2.0-struts2 redirect在myeclipse里报错,但是可以正常使用,这是为什么呢?

问题描述 struts2 redirect在myeclipse里报错,但是可以正常使用,这是为什么呢? 解决方案 IDE工具的问题.既然程序OK,还关系这个干什么.多半是myeclipse struts2插件的问题.可以看下myexlipse的配置选项中是不是有什么语法检查设置. 还是用intellj idea 畅快! myeclipse有点厚重了

用ext3+struts2,显示表格,firebug报错l is undefined

问题描述 ext代码:Ext.onReady(function(){var cm_medicine = new Ext.grid.ColumnModel([ {header : '药品名称(中文)',dataIndex : 'medNameCN'}, {header : '药品名称(英文)',dataIndex : 'medNameEN',sortable : true}, {header : '类型',dataIndex : 'medMode',menuDisabled : true}, {h

请仙人帮忙 weblogic 9.2下Connection Pool怎么添加mysql数据库驱动包 测试报错:不能加载驱动!!!

问题描述 最近要做一个试验,所以要用到weblogic,自己安装了一个weblogic9.2.在weblogic9.2上发布了一个工程,但这个工程所连的数据库是mysql,所以又做datasource.由于weblogic本身的mysql数据库驱动不对应使用的数据库,所以在选择数据库驱动的时候,选择了other.上网也看了一些相关的数据库驱动添加的方法,并照着做了一下:我的mysql的驱动是:mysql-connector-1.5.x.jar,我把它放到了自己建的domain下的lib中.并在自

struts2+ibats+spring整合启动tomcat报错

问题描述 严重: Dispatcher initialization failedjava.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.reflect.InvocationTargetExceptionat com.opensymphony.xwork2.inject.ContainerBuilder$4.create(ContainerBuilder.java:

JSTL包重复报错java.lang.NoSuchFieldError: deferredExpression

at org.apache.taglibs.standard.tag.common.core.ForEachSupport.release(ForEachSupport.java:178) at org.apache.jasper.runtime.TagHandlerPool.release(TagHandlerPool.java:166) at org.apache.jsp.index_jsp._jspDestroy(index_jsp.java:31) Java EE 5 libraries