当前位置: 代码迷 >> Web前端 >> JAVA WEB WICKET 六 HELLO WORLD
  详细解决方案

JAVA WEB WICKET 六 HELLO WORLD

热度:1214   发布时间:2012-11-13 10:00:51.0
JAVA WEB WICKET 6 HELLO WORLD


wicket 这个JAVA的WEB表现框架 相对其他框架来说稍微简单下,它只在HTML文档增加个标识

<span wicket:id="message">Message goes here</span>

在这里下载WICKET 框架:http://www.apache.org/dyn/closer.cgi/wicket/6.1.1

[DIR] binaries/ 05-Oct-2012 17:45 -

[   ] CHANGELOG-6.x 05-Oct-2012 17:44 35K

[   ] KEYS 05-Oct-2012 17:44 22K

[   ] apache-wicket-6.1.1.tar.gz 05-Oct-2012 19:33 4.3M

[TXT] apache-wicket-6.1.1.tar.gz.asc 05-Oct-2012 19:33 195

[   ] apache-wicket-6.1.1.zip 05-Oct-2012 19:33 8.0M

[TXT] apache-wicket-6.1.1.zip.asc 05-Oct-2012 19:33 195

binaries 目录下

[   ] apache-wicket-6.1.1-bin.tar.gz 05-Oct-2012 17:45 25M

[TXT] apache-wicket-6.1.1-bin.tar.gz.asc 05-Oct-2012 17:45 195

[   ] apache-wicket-6.1.1-bin.zip 05-Oct-2012 17:45 25M

[TXT] apache-wicket-6.1.1-bin.zip.asc 05-Oct-2012 17:45 195

我们下载:

apache-wicket-6.1.1-bin.zip 05-Oct-2012 17:45 25M  这个是二进制JAR包和实例WAR

apache-wicket-6.1.1.zip 05-Oct-2012 19:33 8.0M      这个是源代码

这个WICKET6 需要JAVA JDK6   这个JDK6下载和安装这里不讲了.另外使用NETBEAN 7.0中文版 而不是ECLISPE.

NETBEAN 7->文件->新建项目->JAVA WEB->web 应用程序->下一步->选择项目名称,存储地址->下一步->

服务器选择 APACHE TOMCAT 7.0.11 ; Java EE版本:JAVA EE 6 WEB ; 上下文路径: /webapplication2

netbean 7安装的时候带上TOMCAT.

下步后 不选择应用框架. 因为这里面列出来的没有我们想要的-->完成

在NETBEAN 左侧出现新的项目,在树目录顶上出现有:项目;文件;服务器标题栏.

项目这块目录结构:

 web 页

     Meta-inf

    web-inf

      index.jsp

源包

配置文件

文件这块目录结构:

webapplication2

--- nbproject

--- src

------  conf   manifest.mf

 ------ java

---web

-----META-INF context.xml

-----WEB-INF beans.xml

-----index.jsp

--build.xml


主要关注SRC目录和WEB目录,NBPROJECT和BUILD.XML是NETBEAN编译时候用的. 另外BEANS.XML可以暂时删除掉.其他两个文件可以不理睬.

回到 项目结构上 选择库然后把WICKET6.1的JAR添加进来. 右键->添加库 显示个列表框表示现有已安装的库 我们选择-->创建->取个WICKET6

选择按钮 <添加JAR/文件夹...> 然后把WICKET解压出来的JAR统统加进来就是了. 不过这里注意下不能选择文件夹哦!


WICKET JAR包: 那个BIN下面有大部分的JAR包,当没有日志包 需要从实例WAR里挖出来 用7ZIP提取出来 在wicket-examples\WEB-INF\lib\下面有56个包


好了现在环境基本搞定了!

在项目目录上 选择源包右键->新建->JAVA包->取个"HelloWorld"包名 OK 后就出现了灰色包图标

然后在该图标上右键 新建JAVA类  取名为"HelloWorldApp"  就出现了HelloWorldApp.java

写下如下代码:

HelloWorldApplication.java

package HelloWorld;
import org.apache.wicket.protocol.http.WebApplication;

public class HelloWorldApp extends WebApplication 
{
    public HelloWorldApp() { }

    /**
     * @see org.apache.wicket.Application#getHomePage()
     */
    @Override
    public Class getHomePage() 
    {
        return HelloWorld.class;
    }
}

如果IMPORT 有感叹号 说明库没添加好, retrun HelloWorld 说明没这个类.

那好我再建个类吧!

HelloWorld.java

package HelloWorld;
import org.apache.wicket.markup.html.WebPage;
import org.apache.wicket.markup.html.basic.Label;

public class HelloWorld extends WebPage {
    public HelloWorld() {
        add(new Label("message", "Hello World!"));
    }
}
ok  在同一个包下再新建个HTML

HelloWorld.html

The HTML file that defines our Hello World functionality is as follows:

<html>
<body>
    <span wicket:id="message">Message goes here</span>
</body>
</html>

到这里没有基本的JAVA错误了! 在项目目录结构中的WEB-INF下面建个WEB.XML

右键->新建->其他->类别:web   文件类型:最下面的"标准部署描述符(web.xml)"

添加如下配置说明

web.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app
      PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
      "http://java.sun.com/dtd/web-app_2_3.dtd">

<web-app>
    <display-name>Wicket Examples</display-name>
    <filter>
        <filter-name>HelloWorldApplication</filter-name>
        <filter-class>org.apache.wicket.protocol.http.WicketFilter</filter-class>
        <init-param>
          <param-name>applicationClassName</param-name>
          <param-value>org.apache.wicket.examples.helloworld.HelloWorldApplication</param-value>
        </init-param>
    </filter>
    <filter-mapping>
        <filter-name>HelloWorldApplication</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
</web-app>

这里面写了些 1 过滤器 <filter-name>  2 过滤类   applicationClassName   3 路径 url-pattern

因为我们的包名和类名不一样把上面的稍微改写

          <param-name>applicationClassName</param-name>
          <param-value>org.apache.wicket.examples.helloworld.HelloWorldApplication</param-value>
改成

          <param-name>applicationClassName</param-name>
          <param-value>HelloWorld.HelloWorldApp</param-value>

        <filter-name>HelloWorldApplication</filter-name>
        <url-pattern>/*</url-pattern>

改成

        <filter-name>HelloWorldApp</filter-name>
        <url-pattern>/HelloWorld/HelloWorld.html</url-pattern>
这个也相应改下:
<filter-name>HelloWorldApplication</filter-name>


修改Index.jsp文件
增加  <a href="HelloWorld/HelloWorld.html">Helloworld</a> 超链接 这个跟上面的路径模式是匹配的.



当击WebApplication3右键 清理并生成 就开始了编译和部署 不出意外的话就OK

然后我们看下文件目录编译后的结构:


编译比较顺利可以看到BUILD目录下多了classes和lib 把java编译成了class,把wicket库也带进去了.

F6 运行主项目


点击HelloWorld超链接 就激发Wicket


其过程中或许遇到些错误 可能是web.xml 或者是tomcat没停下

  相关解决方案