关于struts2 验证框架在联网的时候可以用,不联网不起作用的问题
这是一个让我很头痛的问题,我是在一个其他的项目框架的基础上来开发新的项目。
当使用struts验证框架时,突然发现这个验证不起作用了,我就纳闷了之前用这个开发的项目好好的怎么到我这就不能用了呢?
xml文件头
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE validators PUBLIC "-//OpenSymphony Group//XWork Validator 1.0.2//EN" "http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd">
在不联网的情况下报
www.opensymphony.com - [unknown location]
在联网的情况下报
Caused by: java.io.IOException: Server returned HTTP response code: 403 for URL: http://opensymphony.com/xwork/xwork-validator-1.0.2.dtd
我就在网络上查找原因,其中我看到一个说是struts2被阿帕奇收购了地址变了变成了http://struts.apache.org/dtds/xwork-validator-1.0.2.dtd
我就把地址改成了
<!DOCTYPE validators PUBLIC "-//OpenSymphony Group//XWork Validator 1.0.2//EN" "http://struts.apache.org/dtds/xwork-validator-1.0.2.dtd">
改过之后我一实验果然验证气作用了不报错了,我的内心是相当的happy啊,可我还没happy几分钟,悲剧就再次发生了,因为在断网的情况下还是报错。苍天啊可怜可怜我吧别再折磨我了。都崩溃了
然后我继续google,发现还有有些盆友跟我一样遇到了类似的问题,但都没有发现解决方案,其中有一个是说把xwork-validator-1.0.2.dtd搞到本地,然后地址改成本地文件所在的路径,我觉得这个不靠谱,可能管用,但我不认为堂堂一个struts的框架会出现这种低级的做法。
这里插一句,xwork-validator-1.0.2.dtd这个文件只是xml格式检验的标准,说是会在jar包中自动检索此文件,我就搜了一下在xwork-core-2.3.1.2中果然存在,但为啥还会报错呢于是呼就出现了我上面的所作所为。
那我就纳闷了为啥就不起作用了此处省略1w字
so我就把用这个框架开发好的项目jar包靠过来对比一下,靠我突然发现有木有有木有
jar包版本不一样,我了个去,是谁是谁是谁把jar包升级了,咋不跟俺汇报一下,苍天啊大地啊欲哭无泪有木有
so把jar包解压
找到
此文件xwork-validator-1.0.2.dtd,打开内容如下
<?xml version="1.0" encoding="UTF-8"?> <!--
XWork Validators DTD.
Used the following DOCTYPE. <!DOCTYPE validators PUBLIC
"-//Apache Struts//XWork Validator 1.0.2//EN"
"http://struts.apache.org/dtds/xwork-validator-1.0.2.dtd">
--> <!ELEMENT validators (field|validator)+> <!ELEMENT field (field-validator+)>
<!ATTLIST field
name CDATA #REQUIRED
> <!ELEMENT field-validator (param*, message)>
<!ATTLIST field-validator
type CDATA #REQUIRED
short-circuit (true|false) "false"
> <!ELEMENT validator (param*, message)>
<!ATTLIST validator
type CDATA #REQUIRED
short-circuit (true|false) "false"
> <!ELEMENT param (#PCDATA)>
<!ATTLIST param
name CDATA #REQUIRED
> <!ELEMENT message (#PCDATA)>
<!ATTLIST message
key CDATA #IMPLIED
>
终于发现不一样的东西了
此xml头应该是
<!DOCTYPE validators PUBLIC
"-//Apache Struts//XWork Validator 1.0.2//EN"
"http://struts.apache.org/dtds/xwork-validator-1.0.2.dtd">
so改好之后果然成功,管你有网没网畅通无阻啊有木有!!!
好此上就是我的struts2验证框架悲惨之旅,希望童鞋们不要犯类似错误,书此文警示世人
关于struts2 验证框架在联网的时候可以用,不联网不起作用的问题的更多相关文章
- Struts2验证框架_xml验证失败
测试Struts2验证框架-->XML验证 启动tomcat后网页登录失败 Employee-validation.xml文件头如下: <!DOCTYPE validators PUB ...
- (七)Struts2 验证框架
所有的学习我们必须先搭建好Struts2的环境(1.导入对应的jar包,2.web.xml,3.struts.xml) 第一节:Struts2 验证简介 Struts2 基于Struts2 拦截器,为 ...
- JavaWeb -- Struts2 验证框架
1. 验证框架 示例 表单提交Jsp, reg.jsp <%@ page language="java" contentType="text/html; chars ...
- Struts2验证框架实例
今天写了个Struts验证框架的实例,总算把验证框架弄清楚了. 上一篇Struts实例的action没有继承ActionSupport类,虽然也可以实现action的功能,但是却不能应用Struts提 ...
- struts2学习(11)struts2验证框架1.验证简介、内置验证
一.Struts2验证简介: 二.struts2内置验证: 下面例子,需求是:为用户注册进行验证: com.cy.model.User.java: package com.cy.model; publ ...
- Struts2 验证框架 validation.xml 常用的验证规则
validation.xml 的命名规则和放置路径: 文件名:<ActionClassName>-validation.xml <ActionClassName>就是要验证的A ...
- struts2验证框架
如何做一个工号 用户 密码 验证登录页面? 答:1,先画一个login.jsp ,如何画呢?先引入Struts2标签库,利用Struts2标签库画登录页面:如下: 2,先进入useractiion,在 ...
- struts2验证框架1
<!--该属性指定需要Struts 2处理的请求后缀,该属性的默认值是action,即所有匹配*.action的请求都由Struts 2处理.如果用户需要指定多个请求后缀,则多个后缀之间以英文逗 ...
- struts2学习(12)struts2验证框架2.自定义验证
一.例子需求: 对敏感词进行验证: 将struts包中的validators.xml文件拷贝一份到src目录下,在最后面添加自己的验证器: com.cy.validators.SensitiveWor ...
随机推荐
- 【C#学习笔记】载入图片并居中
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...
- 【C#学习笔记】打开对话框并返回打开文件所在路径
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...
- 【C#学习笔记】类构造函数使用
using System; namespace ConsoleApplication { class stu { private string name; private int age; publi ...
- H264相关知识
1.基本概念 I frame :帧内编码帧 又称intra picture,I 帧通常是每个 GOP(MPEG 所使用的一种视频压缩技术)的第一个帧,经过适度地压缩,做为随机访问的参考点,可以当成图象 ...
- hdu 3518(后缀数组)
题意:容易理解... 分析:这是我做的后缀数组第一题,做这个题只需要知道后缀数组中height数组代表的是什么就差不多会做了,height[i]表示排名第i的后缀与排名第i-1的后缀的最长公共前缀,然 ...
- LINQ to SQL语句之Join和Order By
Join操作 适用场景:在我们表关系中有一对一关系,一对多关系,多对多关系等.对各个表之间的关系,就用这些实现对多个表的操作. 说明:在Join操作中,分别为Join(Join查询), SelectM ...
- 关于【bootstrap】中,【tooltip】的不算bug的bug的个人看法
先说下遇到这个问题的背景吧. 就是在页面中有个div,这个div右上角(或者其他位置)有个 × 的图标(这个图标添加tooltip工具提示),光标移到这个图标时,触发tooltip,提示“点击移除”这 ...
- git 公共服务器
github 私有项目有限制,多了需要收费 bitbucket 无限的私有项目,项目协作人数多了需要收费,刚好和github相反 gitorious 新发现的,不知道有什么特点
- libyuv颜色空间转换开源库
libyuv据说在缩放和颜色空间转换,比ffmpeg效率高很多倍.不知道和我们的PP库比起来怎么样.同样有neon指令集优化.支持移动设备.
- android - python 自动化测试 移动互联网 - SegmentFault
android - python 自动化测试 移动互联网 - SegmentFault splinter