我今天开始使用JAVA Web开发并遇到一些问题,我在我的ubuntu机器上安装了tomcat7.现在当我浏览到// localhost:8080时,我得到了默认的欢迎页面:
这是默认的Tomcat主页.它可以在本地文件系统上找到:/var/lib/tomcat7/webapps/ROOT/index.html
Tomcat7退伍军人会很高兴地得知,Tomcat的这个系统实例与安装CATALINA_HOME在/usr/share/tomcat7和CATALINA_BASE中/var/lib/tomcat7,以下从规则/usr/share/doc/tomcat7-common/RUNNING.txt.gz.
但奇怪的是,当我尝试echo $CATALINA_HOME什么都没有出现.此外,我无法在默认的/ var/lib/tomcat7/ROOT中复制/创建任何内容,虽然它只是提供少量权限,但我想知道它是否是正确的方法吗?
我想要做的是在我的家中创建一个单独的目录,我可以放置我的Web应用程序,tomcat可以从那里读取下摆.有办法吗?在apache中,我可以通过更改文档根目录来实现,但我不知道如何为tomcat执行此操作
我创建了一个扩展SaxParser DefaultHandler类的类.我的目的是将XML输入存储在一系列对象中,同时保留原始XML数据的数据完整性.在测试期间,我注意到一些节点数据在输入时被任意截断.
例如:
Input: <temperature>-125</temperature> Output: <sensitivity>5</sensitivity>
Input: <address>101_State</city> Output: <address>te</address>
Run Code Online (Sandbox Code Playgroud)
为了使事情进一步复杂化,上述错误"随机"发生在相同XML标记的每100个实例中的1个中.这意味着输入XML文件包含大约100个包含<temperature>-125</temperature>但仍然只有一个生成输出的标记<sensitivity>5</sensitivity>.其他标签准确生成<sensitivity>-125</sensitivity>.
我已经覆盖了抽象的"characters(char [] ch,int start,int length)"方法来简单地抓取XML标签之间的字符内容:
public void characters(char[] ch, int start, int length)
throws SAXException {
value = new String(ch, start, length);
//debug
System.out.println("'" + value + "'" + "start: " + start + "length: " + length);
}
Run Code Online (Sandbox Code Playgroud)
我的println语句为特定温度标记生成以下输出,导致错误输出:
> '-12'start: 2045length: 3 '5'start:
> 0length: 1
Run Code Online (Sandbox Code Playgroud)
这告诉我,对于这个特定的xml元素,字符方法被调用两次.对于所有其他xml标记,它被调用一次.secong行的"start"值表示char []字符正在此XML标记的中间重置.然后使用新的char []再次调用字符方法.
有人熟悉这个问题吗?我想知道我是否达到了char []容量的极限.但是快速查询会使这种情况不太可能.我的char []似乎重置为~2047个字符
谢谢,
磅