当前位置:编程学习 > JAVA >>

求助大侠 :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配置不同 --------------------编程问答--------------------
引用 2 楼  的回复:
   建议根据你下载的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>
--------------------编程问答--------------------
引用 4 楼  的回复:
<filter>
    <filter-name>struts2</filter-name>
      <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
  </filter>
  
  <filter-mapping>
    <f……
不行 --------------------编程问答--------------------
引用 2 楼  的回复:
   建议根据你下载的struts2  jar包里面的Demo(即演示代码),把演示文件里面的web.xml拷贝一份,因为不用版本的filter配置不同




郁闷了,解压之后,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 开发
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,