最近几天一直在搭建struts2框架,本身struts2框架的搭建是非常简单的,但不知道为什么最近就是总是报错,报了一大串的错

首先就是每次在类的根路径下创建struts.xml时,就报错,也不知道为什么,我还把eclipse换了一遍,结果没错了,我也是非常纳闷。

报的是:

The errors below were detected when validating the file "struts-2.3.dtd" via the file "struts.xml".  In most cases these errors can be detected by validating "struts-2.3.dtd" directly.  However it is possible that errors will only occur when struts-2.3.dtd is validated in the context of struts.xml.

然后一直百度,也没有找到解决办法,结果今天哇塞,终于解决了,算一下应该有5-6天了。原来这个错误是因为引入的约束文件出问题了。

我当时为了配置提示,然后把这个约束就用本地的dtd文件,结果我本地的dtd文件一不小心被改了,如果不配xml提示的话,xml文件默认会去http://struts.apache.org/dtds/struts-2.3.dtd这里找约束。

而我配了本地的dtd文件的话,就会在本地找我的文件了,结果我的文件被我改成这样了。

真的谢天谢地,今天终于让我发现了这个问题,要不然我要一直郁闷下去,还不知道错哪了。

我当时为了复制xml头文件的时候,不小心在这里多复制了一份,把这里删了,改成正确的文件的时候,就没有问题了。再也不报错了,并且也有提示了。

当然删了之后,要把struts.xml的内容先剪切一下(假装删除)--->保存,不报错之后,然后再复制上去--->再保存就ok了。然后把这个文件关了,再打开。

配置一下内容

<?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="p1" namespace="/user" extends="struts-default">
<action name="userLogin" class="com.fzxy.cidp.UserAction" method="userLogin">
<result name="success">/success.jsp</result>
</action>
</package>
</struts>

这里的package中的属性: name是必须写的,这里name是一个标志符,可以随便取一个只要不重复的就行,比如人一出生就要取个名字一样。那个extends=“struts-default”,就是struts框架写好的一个package的name,我们继承它,就可以用里面的属性。

这里的action就是配置了访问路径和对应的哪个类来处理这个请求name=“userLogin”

这里的namespace就是到时候访问的地址栏中的内容,比如说,我想要在com.fzxy.cidp.UserAction类中处理请求,就得

http://localhost:8080/crm_test/user/userLogin(namespace/actionName)就可以对应上了。

那么就去建一个以之对应的类

然后就ok了。

这里需要导入的jar包就是

struts官网上面下载struts-blank里面的案例,里面有所需的jar包。

另外还会报一个错误

严重: Dispatcher initialization failed
Unable to load configuration. - action - file:/D:/apache-tomcat-7.0.88/webapps/struts_test/WEB-INF/classes/struts.xml:9:80
    at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:69)
    at org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:390)
    at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:437)
    at org.apache.struts2.dispatcher.ng.InitOperations.initDispatcher(InitOperations.java:74)
    at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.init(StrutsPrepareAndExecuteFilter.java:51)
    at org.apache.catalina.core.ApplicationFilterConfig.initFilter(ApplicationFilterConfig.java:285)
    at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:266)
    at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:108)
    at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4997)
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5699)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1702)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1692)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)
Caused by: Error building results for action userLogin in namespace /user - action - file:/D:/apache-tomcat-7.0.88/webapps/struts_test/WEB-INF/classes/struts.xml:9:80
    at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.addAction(XmlConfigurationProvider.java:389)
    at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.addPackage(XmlConfigurationProvider.java:495)
    at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.loadPackages(XmlConfigurationProvider.java:286)
    at org.apache.struts2.config.StrutsXmlConfigurationProvider.loadPackages(StrutsXmlConfigurationProvider.java:112)
    at com.opensymphony.xwork2.config.impl.DefaultConfiguration.reloadContainer(DefaultConfiguration.java:234)
    at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:66)
    ... 16 more
Caused by: No result type specified for result named 'success', perhaps the parent package does not specify the result type? - result - file:/D:/apache-tomcat-7.0.88/webapps/struts_test/WEB-INF/classes/struts.xml:10:27
    at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.buildResults(XmlConfigurationProvider.java:644)
    at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.addAction(XmlConfigurationProvider.java:387)
    ... 21 more

十月 15, 2018 11:24:47 下午 org.apache.catalina.core.StandardContext filterStart
严重: Exception starting filter struts
Unable to load configuration. - action - file:/D:/apache-tomcat-7.0.88/webapps/struts_test/WEB-INF/classes/struts.xml:9:80
    at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:450)
    at org.apache.struts2.dispatcher.ng.InitOperations.initDispatcher(InitOperations.java:74)
    at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.init(StrutsPrepareAndExecuteFilter.java:51)
    at org.apache.catalina.core.ApplicationFilterConfig.initFilter(ApplicationFilterConfig.java:285)
    at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:266)
    at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:108)
    at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4997)
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5699)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1702)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1692)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)
Caused by: Unable to load configuration. - action - file:/D:/apache-tomcat-7.0.88/webapps/struts_test/WEB-INF/classes/struts.xml:9:80
    at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:69)
    at org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:390)
    at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:437)
    ... 14 more
Caused by: Error building results for action userLogin in namespace /user - action - file:/D:/apache-tomcat-7.0.88/webapps/struts_test/WEB-INF/classes/struts.xml:9:80
    at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.addAction(XmlConfigurationProvider.java:389)
    at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.addPackage(XmlConfigurationProvider.java:495)
    at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.loadPackages(XmlConfigurationProvider.java:286)
    at org.apache.struts2.config.StrutsXmlConfigurationProvider.loadPackages(StrutsXmlConfigurationProvider.java:112)
    at com.opensymphony.xwork2.config.impl.DefaultConfiguration.reloadContainer(DefaultConfiguration.java:234)
    at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:66)
    ... 16 more
Caused by: No result type specified for result named 'success', perhaps the parent package does not specify the result type? - result - file:/D:/apache-tomcat-7.0.88/webapps/struts_test/WEB-INF/classes/struts.xml:10:27
    at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.buildResults(XmlConfigurationProvider.java:644)
    at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.addAction(XmlConfigurationProvider.java:387)
    ... 21 more

这个错误说找不到action与之对应,我开始也找了半天找不到问题所在。后面终于发现了

是这个地方没有写,没有继承struts-default的包,就没有struts2默认的过滤器。这样就会报这个错误了。

eclipse搭建struts2环境及所遇到的问题的更多相关文章

  1. Eclipse搭建struts2环境

    搭建struts2环境 大的方面分为三步: 1. 加入jar包 2. 在web.xml中配置struts2 3. 添加struts2的配置文件struts.xml 下面是详细步骤: 1. 新建一个Dy ...

  2. 用eclipse 搭建struts2环境

    一,下载struts2对应的jar包,(http://struts.apache.org/download.cgi#struts2514.1),我一般下载struts2.3版本的 二,打开eclips ...

  3. Myeclipse搭建struts2环境

    1.下载Struts2 到Apache Struts2官网下载最新的Struts2  http://struts.apache.org/download.cgi#struts2316-SNAPSHOT ...

  4. 用标准版的Eclipse搭建PHP环境

    用标准版的Eclipse搭建PHP环境 ——@梁WP 摘要:用标准版的Eclipse搭建PHP环境. 一.下载Eclipse的PHP插件 百度搜索phpeclipse,看到某条结果是带有SourceF ...

  5. Eclipse搭建c环境(CDT)二

    Eclipse 编辑c程序环境的搭建主要为其安装CDT插件即可 Eclipse搭建CDT步骤如下: 1.首先配置好java环境,为后续运行eclipse做准备 (略) 2.下载并安装eclipse(这 ...

  6. eclipse 搭建Swt 环境

    我本是想用java开发一个记事本,开发记事本使用到SWT插件,我从网上找了许多的资料去集成插件,创建我的第一个SWT项目,以下是我搭建SWT环境的过程. 一.查看当前使用的exlipse 版本型号 在 ...

  7. 如何使用eclipse搭建maven环境以及常见的错误

    这篇博客适合零基础学习maven,搭建maven以及运行项目,常见的错误,我会在结尾写出说明白,看是否和大家的错误一样,或者文章的括号注释部分也会写出一些注意点. 第一步:就是下载maven,以及配置 ...

  8. Eclipse 搭建struts2 spring3 hibernate3环境实战 待完善

    1.struts2 目前是2.3版本,下载地址http://struts.apache.org/download.cgi struts2包 struts2-core-2.3.16.3.jar stru ...

  9. Eclipse搭建Android环境失败的解决方案

    今天在Eclipse上搭建Android开发环境,不仅在安装ADT的过程中老是出错,而且Android SDK下载后,打开SDK Manager时也无法链接到网页下载tools,网上查了好多方法,试了 ...

随机推荐

  1. ASP.NET Web Pages:帮助器

    ylbtech-.Net-ASP.NET Web Pages:帮助器 1.返回顶部 1. ASP.NET Web Pages - 帮助器 Web 帮助器大大简化了 Web 开发和常见的编程任务. AS ...

  2. nginx二进制编译-启动脚本编写

    首先先把这个文件上传到root目录下,并解压 #tar zxf nginx-1.11.2.tar.gz 写脚本 # vi nginx-running.sh 内容如下 #!/bin/bash #chkc ...

  3. ros建立ospf邻居的条件

    Two routers do not become neighbors unless the following conditions are met. Two way communication b ...

  4. 第2课 C 到 C++ 的升级

    1.  C与C++的关系 (1)C++继承了所有的C特性,并在C的基础上提供了更多的语法和特性. (2)C++的设计目标是运行效率与开发效率的统一,它更强调的是语言的实用性. 2. C到C++ 的升级 ...

  5. Linux Performance Analysis and Tools(Linux性能分析和工具)

    首先来看一张图: 上面这张神一样的图出自国外一个Lead Performance Engineer(Brendan Gregg)的一次分享,几乎涵盖了一个系统的方方面面,任何人,如果没有完善的计算系统 ...

  6. lucene中TOKENIZED,UN_TOKENIZED 解釋

    Field("content",curArt.getContent(),Field.Store.NO,Field.Index.TOKENIZED)); 這些地方與舊版本有很大的區別 ...

  7. re模块 ,random模块

    # 在python中使用正则表达式 # 转义符 : 在正则中的转义符 \ 在python中的转义符# 正则表达式中的转义 :# '\(' 表示匹配小括号# [()+*?/$.] 在字符组中一些特殊的字 ...

  8. 单例模式(Singleton)

    单例模式  Singletonn Pattern Ensure a class has only one instance, and provide  a global point of access ...

  9. 表单:checkbox、radio样式(用图片换掉默认样式)

    checkbox.radio样式(用图片换掉默认样式) <!doctype html> <html> <head> <meta charset="u ...

  10. servlet练习1

    1. 编写一个Servlet,当用户请求该Servlet时,显示用户于几点几分从哪个IP(Internet Protocol)地址连线至服务器,以及发出的查询字符串(Query String).查询一 ...