wicket 这个JAVA的WEB表现框架 相对其他框架来说稍微简单下,它只在HTML文档增加个标识
<span wicket:id="message">Message goes here</span>
在这里下载WICKET 框架:http://www.apache.org/dyn/closer.cgi/wicket/6.1.1
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
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
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
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
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!"));
}
}
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没停下