2011-12-19 134 views
0

我是一个新的Web开发人员,他正在努力使用Eclipse来设置本地开发环境。我的目标是最终将我的想法变成一个很酷的网站,可以托管在64MB私有JVM Tomcat 6服务器上(here)。设置JSF2环境

我尝试了一切,我可以持续4天阅读一堆教程网站,并提出了一个可以下载的Eclipse项目。 download

我对整合这么多框架感到不知所措(之前我不是一个开源代码的人),我觉得我被卡住了。以下是我的一些问题。

  1. 为什么当我运行上面的本地机器上的Tomcat 6服务器上的项目,我有一个访问它的“http://本地主机/ RichFaces的-的tomcat6 /”我希望能够以“http访问它://本地主机/纳摩/”。因为“Namo”将成为我的网站名称。
  2. “http://localhost/richfaces-tomcat6/index.xhtml”怎么没有显示inputText?
  3. 为什么我不能使用托管bean的“@Named”注解?相反,我必须使用“@ManagedBean”。我读了一些@ManagedBean真正用于遗留系统的地方。这很重要吗?
  4. 我想在JSF 2中编写代码,并在网站上添加一些Ajax功能。我阅读了一些Richfaces的用处。我甚至在正确的轨道上设置这些?

我知道我在问很多问题。我很愿意在本地设置一些东西并为JSF打好书,但我甚至无法开始使用它,这非常令人沮丧。如果有人能帮助我或指导我走向正确的方向,我将非常感激。

+0

未来,请在单独的问题中提出个别问题。 – BalusC 2011-12-19 12:53:00

回答

1

何当我运行在本地机器上的Tomcat 6服务器上的项目上方时,我必须使用“http:// localhost/richfaces-tomcat6 /”来访问它,我希望能够通过“http:// localhost/Namo /”。因为“Namo”将成为我的网站名称。

上下文路径默认为Eclipse项目名称。您应该在Eclipse项目创建向导的最后一个步骤中编辑了上下文路径。您可以随后在项目属性的Web项目设置部分中进行编辑(右键单击项目并选择属性)。


怎么来的 “http://localhost/richfaces-tomcat6/index.xhtml” 没有显示在所有的inputText?

Apparenty请求的URL未在FacesServlet的URL的模式作为web.xml definied匹配。给定的URL期望它被映射在*.xhtml<url-pattern>上。 Eclipse默认为/faces/*和/或*.jsf,并要求您通过http://localhost/richfaces-tomcat6/faces/index.xhtmlhttp://localhost/richfaces-tomcat6/index.jsf打开页面。但将FacesServlet映射到*.xhtml要好得多。


为什么我不能用 “@Named” 注释的托管bean?相反,我必须使用“@ManagedBean”。我读了一些@ManagedBean真正用于遗留系统的地方。这很重要吗?

@Named注释是CDI的部件,它是的Java EE 6的Tomcat的一部分但是简单的JSP/Servlet容器和不完全成熟的Java EE容器。如果你想在Tomcat上使用它,你可能需要自己安装CDI,或者用更完善的Java EE容器(比如Glassfish 3或JBoss AS)替换Tomcat。另请参阅Weld documentation(Weld是CDI参考实现的代号)。请注意,您不一定需要需要 CDI才能让JSF运行。对于简单的Web应用程序,使用@ManagedBean应该足够了。


我试图代码JSF 2位的Ajax的功能在网站上。我阅读了一些Richfaces的用处。我甚至在正确的轨道上设置这些?

JSF2已经支持Ajax与<f:ajax>标签的框。 RichFaces只是一个组件库,在standard component set之上提供more enhanced components and skinnability support。另见Communication in JSF 2.0

0

你有严重的内存限制,所以我最好还是建议看轻量级模板引擎,如速度的Freemarker为您的网页和MVC框架,如Struts的/Struts 2的Spring MVC的