“资源”上下文路径如何在Wicket + Tomcat安装中协同工作

时间:2011-02-20 18:29:12

标签: java tomcat wicket

我是一名服务器端Java程序员,正在尝试学习Web开发,并且一直在试验Wicket,CSS,Tomcat,MySQL&使用Maven进行Hibernate构建。我找不到CSS文件的问题,但我不确定它是Wicket还是Tomcat,甚至可能是导致问题的托管服务提供商。这是设置:

页面LoginPage.html的HTML包含以下内容:

<head>  
    <title wicket:id="pageTitle"></title>
    <link wicket:id="stylesheet"/>
</head>

使用以下命令填充相应的LoginPage.java代码:

public LoginPage(final PageParameters parameters)
{
    // Setup page
    add(new StyleSheetReference("stylesheet",
              AppUserPage.class, "default.css"));

我使用“mvn package”创建“.war”文件。一旦我将.war文件部署到托管网站,HTML文件就可以通过Wicket加载了,但没有应用CSS

如果我使用“查看源”,我会看到以下内容:

<head>  
    <title wicket:id="pageTitle">HR-Box Login</title> 
    <link wicket:id="stylesheet" rel="stylesheet" type="text/css"
          href="resources/ca.svarb.hrbox.web.appuser.AppUserPage/default.css"/> 
</head>

我认为关键是现在在defult.css文件的href中添加了“资源”路径。奇怪的是,如果我将.war文件部署到本地默认Tomcat6安装或使用“mvn jetty:run”运行,这两个都可以正常工作 - 我可以加载“http:// localhost:8080 / mywebapp-1.0- SNAPSHOT /?wicket:bookmarkablePage =:ca.svarb.hrbox.web.login.LoginPage“并且它使用CSS文件渲染得很好。

我的问题:

  1. 如何添加此“资源”路径?我在Wicket配置中找不到任何告诉它将其添加到路径中的内容。
  2. 做默认的Tomcat6&amp; Jetty安装有什么能让他们了解在“资源”路径上找到文件的位置?我的托管服务提供商正在使用Tomcat,但他们可能会将默认配置更改为不自动映射此路径。
  3. 如果有帮助,应用程序的源代码在sourceforge上:

    https://wicket-hr-box.svn.sourceforge.net/svnroot/wicket-hr-box/branches/mysql

    在这里从SVN签出并使用“mvn jetty:run”应该构建并运行应用程序,CSS工作正常。

    现场网站就在这里:

    http://svarb.org

1 个答案:

答案 0 :(得分:0)

“资源”是Wicket中的一条特殊路径。通过这种方式,Wicket知道它必须使用特殊的RequestTarget来处理此资源请求。