`
somefuture
  • 浏览: 1078645 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

JSF 配置web.xml出错解决

阅读更多
JSF是为了回避开发过程对java程序员技术要求高而模仿微软的可视化技术。其实我是很不喜欢可视化开发的,就如VB开发的时候一个一个的拖控件,给我一种失败的感觉。但是出于对java的热衷,而且JSF的确可以提高效率,我还是选择了一段时间来学习。

不知道MyEclipse对JSF开发的支持怎么样,先用着吧。新建了WEB工程,添加了JSF的能力后,开始开发bean和资源文件。bean叫User,资源文件由Eclipse自动添加了标签库引入(MyEclipse6.6,使用了JSF1.2,现在最新的好像是2.0吧)。

JSF可以自己实例化bean,在资源文件里的EL中可以直接使用user.name。因为在配置文件faces_config.xml中指定了受管bean的name为user。配置好faces_config.xml后,web.xml按照MyEclipse自动生成的。运行应用,报错
Cannot find FacesContext

网上有不少人曾经解决过这种问题,看了看,试了试,都不行。一怒之下,将主动添加的jar包删掉自己手动加入了7个包,如图。这一次,错误仍然在……

继续找,在51CTO看到一篇文章:http://developer.51cto.com/art/200906/131978.htm,于是把web.xml中的首页改为
        <welcome-file-list>
		<welcome-file>index.faces</welcome-file>
	</welcome-file-list>
在地址栏输入http://localhost:8888/JSFTest/index.faces,访问成功。

但是如果访问http://localhost:8888/JSFTest去不行,报404。诧异,首页设置有用吗?
  • 大小: 31.2 KB
0
0
分享到:
评论
3 楼 somefuture 2011-09-29  
lteb2002 写道
将首页设为:
<welcome-file>index.xhtml</welcome-file> 
然后配置<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.faces</url-pattern>
<url-pattern>*.xhtml</url-pattern>
关键要注意<welcome-file>中应该是一个真实存在的文件。

感谢你回复我一年前的文章。那以后我就放弃JSF了,不知道现在的版本是多少了。有机会再学学。
2 楼 lteb2002 2011-09-29  
将首页设为:
<welcome-file>index.xhtml</welcome-file> 
然后配置<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.faces</url-pattern>
<url-pattern>*.xhtml</url-pattern>
关键要注意<welcome-file>中应该是一个真实存在的文件。
1 楼 潜心修炼 2010-08-16  
因为你的web.xml配置了FaceServlet针对的只是.faces后缀的请求。所以说当你配置工程的默认首页是
 <welcome-file-list>  
     <welcome-file>index.faces</welcome-file>  
 </welcome-file-list>  

所以你使用 http://localhost:8888/JSFTest访问,FaceServlet不会处理该请求。容器又找不到index.faces这个文件,所以会报404

至于Cannot find FacesContext  ,有可能是因为你在没有被JSF Context管理的页面内使用了bean。

相关推荐

Global site tag (gtag.js) - Google Analytics