| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1375 人关注过本帖
标题:请教struts的一个小问题
只看楼主 加入收藏
ITMM
Rank: 1
等 级:新手上路
帖 子:50
专家分:0
注 册:2006-8-22
收藏
 问题点数:0 回复次数:16 
请教struts的一个小问题

参照精通struts.基于mvc的.java.web设计与开发这本书上面第二章的
小例子,helloapp应用打了一编,再运行的时候出现了问题
问题如下:
启动tomcat的时候有个信息显示如下:
信息:Missing application web.xml,using defaults only StandardEngine[Catalina].StandardHost[localhost].StandardContext[/helloapp]
把helloapp打包成helloapp.war后拷贝到E:\Tomcat 5.0\webapps\下以后
在浏览器中输入:http://localhost:8080/helloapp/helloapp/WebRoot/WEB-INF/hello.jsp以后
页面出错信息如下:

HTTP Status 500 -

--------------------------------------------------------------------------------

type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

org.apache.jasper.JasperException: File "/WEB-INF/struts-bean.tld" not found
org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:50)
org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:411)
org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:118)
org.apache.jasper.compiler.TagLibraryInfoImpl.<init>(TagLibraryInfoImpl.java:159)
org.apache.jasper.compiler.Parser.parseTaglibDirective(Parser.java:418)
org.apache.jasper.compiler.Parser.parseDirective(Parser.java:483)
org.apache.jasper.compiler.Parser.parseElements(Parser.java:1539)
org.apache.jasper.compiler.Parser.parse(Parser.java:126)
org.apache.jasper.compiler.ParserController.doParse(ParserController.java:220)
org.apache.jasper.compiler.ParserController.parse(ParserController.java:101)
org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:203)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:470)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:451)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:439)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:511)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:295)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)


note The full stack trace of the root cause is available in the Tomcat logs.


--------------------------------------------------------------------------------

Apache Tomcat/5.0.18

小妹我是初次接触,不知道什么原因,请高手不吝赐教,先谢谢了

搜索更多相关主题的帖子: struts 
2007-03-22 16:12
想你的天空
Rank: 2
等 级:新手上路
威 望:5
帖 子:610
专家分:0
注 册:2004-12-30
收藏
得分:0 
看懂代码就行了, 没必要运行之。


File "/WEB-INF/struts-bean.tld" not found

2007-03-22 16:16
黄袖标
Rank: 4
等 级:贵宾
威 望:13
帖 子:676
专家分:0
注 册:2007-3-22
收藏
得分:0 
web-xml看看标签配了没有

我胡汉三又回来啦!物是人非啊,只有静夜思大大还在。
2007-03-22 16:31
ITMM
Rank: 1
等 级:新手上路
帖 子:50
专家分:0
注 册:2006-8-22
收藏
得分:0 


呵呵,提问二楼的:struts-bean.tld这个文件就在WEB-INF,这个目录下面,可是不知道为什么会出现找不到的文件的情况,先谢谢了
回答三楼的:,不好意思呢,不是很懂
照着书上的web-xml打了一遍,关于这个文件的说明如下:
配置文件web.xml应该对ActionServlet类进行配置,此外,还应该声明Web应用所使用的Struts标签库,本例中声明使用了三个标签库:Struts Bean,Struts HTML和Struts Logic标签库
这是web-xml的源文件内容:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems,Inc.//DTD Wen Application2.2//EN"
"http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">
<web-app>
<display-name>HelloApp Struts Application</display-name>
<!-- Standard Action Servlet Configuration -->
<servlet>
<servlet-name>action</servlet-name>
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
<init-param>
<param-name>config</param-name>
<param-value>/WEB-INF/struts-config.xml</param-value>
</init-param>
<load-on-startup>2</load-on-startup>
</servlet>

<!-- Standard Action Servlet Mapping -->
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>

<!-- The Usual Welcome File List -->
<welcome-file-list>
<welcome-file>hello.jsp</welcome-file>
</welcome-file-list>

<!-- Struts Tag Library Descriptors-->
<taglib>
<taglib-uri>/WEB-INF/struts-bean.tld</taglib-uri>
<taglib-location>/WEB-INF/struts-bean.tld</taglib-location>
</taglib>

<taglib>
<taglib-uri>/WEB-INF/struts-html.tld</taglib-uri>
<taglib-location>/WEB-INF/struts-html.tld</taglib-location>
</taglib>

<taglib>
<taglib-uri>/WEB-INF/struts-logic.tld</taglib-uri>
<taglib-location>/WEB-INF/struts-logic.tld</taglib-location>
</taglib>
</web-app>
谢谢了


2007-03-22 17:04
黄袖标
Rank: 4
等 级:贵宾
威 望:13
帖 子:676
专家分:0
注 册:2007-3-22
收藏
得分:0 
jsp里也要引如标签

我胡汉三又回来啦!物是人非啊,只有静夜思大大还在。
2007-03-22 17:07
支离破碎
Rank: 6Rank: 6
等 级:贵宾
威 望:23
帖 子:737
专家分:0
注 册:2007-1-4
收藏
得分:0 
Missing application web.xml,using defaults only StandardEngine[Catalina].StandardHost[localhost].StandardContext[/helloapp]

人生漂泊無依,有如浮萍菱花,隨水飄流,你会在我这里停留吗?
[url=http://51mynet.]http://51mynet.[/url]
2007-03-22 18:23
时空之蕊
Rank: 2
等 级:新手上路
威 望:3
帖 子:691
专家分:0
注 册:2004-10-31
收藏
得分:0 
哈哈,估计是打字打错了

我渴望掌控时空的核心——用最先进的技术,打造无比美丽的世界!
2007-03-22 21:10
想你的天空
Rank: 2
等 级:新手上路
威 望:5
帖 子:610
专家分:0
注 册:2004-12-30
收藏
得分:0 
.JSP页面里引用的标签和你所放的STRUTS相对目录匹配?

2007-03-23 09:28
ITMM
Rank: 1
等 级:新手上路
帖 子:50
专家分:0
注 册:2006-8-22
收藏
得分:0 

呵呵,谢谢各位了
问题已经解决了,问题比较多的说:
1。好像有一些源文件确实是打错了
2。hello.jsp文件应该放到WebRoot文件里面,我当时放到WEB-INF里面去了
3。需要的struts-power.gif当时也没有放到WebRoot里面去
4。其中struts-config.xml文件里的设计图如下所示:

图片附件: 游客没有浏览图片的权限,请 登录注册

在浏览器里面输入:
http://localhost:8080/helloapp就可以正常显示了
不过还是不太明白,我的jsp文件明明是:hello.jsp
为什么却要输入helloapp项目名呢?然后再页面上输入一个名字后
页面变成:
http://localhost:8080/helloapp/HelloWorld.do
文件名变成HelloWorld.do,后缀名也变成 。do
同事说是因为我web.xml文件里,这句话的原因把hello.jsp映射成了HelloWorld.do的,相关代码如下:<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
呵呵,但愿我说的够明白了,呵呵


2007-03-23 14:12
支离破碎
Rank: 6Rank: 6
等 级:贵宾
威 望:23
帖 子:737
专家分:0
注 册:2007-1-4
收藏
得分:0 
你的web.xml文件中有一个welcome-file这样的东西,来设置首页。
所以你直接输出项目名字就可以自转到你的JSP页面了

人生漂泊無依,有如浮萍菱花,隨水飄流,你会在我这里停留吗?
[url=http://51mynet.]http://51mynet.[/url]
2007-03-23 15:14
快速回复:请教struts的一个小问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.048060 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved