求助大侠 :struts2 jsp 测试的初级问题,头疼,快疯了
在tomcat/webapps/下建立了一个新工程包test,里面文件如下:
test/WEB-INF/classes/Test.class
test/WEB-INF/classes/struts.xml
test/WEB-INF/lib/(一发狠把struts2/lib下的所有jar都放里面了)
test/WEB-INF/web.xml
test/login.jsp
-----------------------------------------------------------------------------------
现在的问题是,如果输入 http://localhost:8080/test/login.jsp 则报错无法访问
我经过反复测试,发现把test/WEB-INF/web.xml这个文件中配置的filter代码删除之后,
http://localhost:8080/test/login.jsp 就可以访问了。
也就是说,web.xml这个文件里面的filter配置有问题。struts功能都还没开始测试,就卡在这里了。
-------------------------------------------------------------------------------------
web.xml的源码如下:
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
version="3.0"
metadata-complete="true">
<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>
</web-app>
-------------------------------------------------------------------------------------
难道哪里写错了吗?我特别注意了 org.apache.struts2.dispatcher.FilterDispatcher 这个类,可以从struts2-core.jar 里面解压出来,目录没有问题的。
用的tomcat是最新7.0.3版本的,看tomcat的控制台,有个错误是 严重:Error filterStart
求助大侠
--------------------编程问答-------------------- struts2的包不能多加,也不能少加,还有你的struts2的版本是什么,2.1.6以前的Filter和以后的class是不同 的 --------------------编程问答-------------------- 建议根据你下载的struts2 jar包里面的Demo(即演示代码),把演示文件里面的web.xml拷贝一份,因为不用版本的filter配置不同 --------------------编程问答-------------------- 求助这个Jar包在何处呢?找了半天没找到,汗 --------------------编程问答-------------------- <filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
--------------------编程问答-------------------- 不行 --------------------编程问答--------------------
郁闷了,解压之后,struts2-blank文件包放到tomcat的webapps下,输入
http://localhost:8080/struts2-blank 无法访问。。。。。。。
到底哪里出错了呢,汗。。。
--------------------编程问答-------------------- 我的struts版本是:2.3.1.2,web.xml见4楼,包大致是以下这些:
commons-fileupload
commons-io
commons-lang
commons-logging
freemarker
javassist
ognl
struts2-core
xwork-core
你去试试看,有异常的话将异常信息贴出来就知道了。 --------------------编程问答-------------------- <filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
变红的地方是 配置 你的项目启动时首先运行的 页面 一般是登录页面,或者首页 这个地方配置什么你的项目默认第一个运行的页面就是什么 --------------------编程问答-------------------- 各位 我找到原因了 struts.xml 里面有如下一段代码
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd">
看到 2.3了吗?我的是2.0 我改成2.3之后就可以了!!!!!!!!!!!!!!
真是疯了。这是为神马???????????? --------------------编程问答-------------------- zhe me fu za --------------------编程问答-------------------- dtd是文档类型定义文件,xml文件的解析如果引入dtd,语法解析要符合dtd文件对xml节点的规范定义,否则,将会解析错误!
既然是不同版本的dtd文件,当然对xml节点的规范定义是有差别的。所以出错时理所当然的事情。
补充:Java , Web 开发