创建基于wicket的web项目入门实例(一)
来源:互联网 发布:视频编辑软件pr 编辑:程序博客网 时间:2024/05/29 06:58
用了Wicket近一年多了,对于Wicket这一强大的web框架却知之甚少,所以从今天起,开始系统的整理一下Wicket资料.
在这里我并不对其他web框架做详细介绍,更不会拿其他web框架和Wicket做比较,只是简单的的介绍Wicket框架中一些组件的使用.
Wicket简单介绍:
1.在wicke中用Html描述UI,并将具有特殊标记的Html元素定义为UI控件,在java文件中则直接操作这些UI控件,以控制其输出及行为和样式等,
类似的框架还有Tapestry,不过Tapes的文件是通过xml文件来绑定view层和model层.总之,这种基于组件的开发方式,开创了一种新的web开发方式.
2.Wicket的框架结构与Swing非常相似,Wicket是很纯粹的Java代码,所以可以很好的应用OO设计思想.
3.虽然Wicket包含了Java和Html两部分内容,但是它并不是一种模板语言,并没有将Java代码与Html混合在一起,也不需要强制在Html代码中添加
新的语法,只需要通过在Html标签中加入wicket:id这样的方式将Java代码与Html页面进行关联.
4.Wicket结构上比较安全,它的URL经过了处理,不包含敏感的信息,并且可以对URL进行加密,所以很难直接通过URL来访问某一个功能.
对于wicket的简单介绍就到这里,接下来直接通过一个小例子来对开发基于wicket的web项目有一个大概的认识.
看到这里,问题来了,当加载某个页面的时候,如何知道html文件中的控件对应哪个java文件中的那个控件呢?
答案很简单,Wicke使用规则匹配方式在模板文件和类之间自动进行.例如对于com.ilucky.wicket.HelloWorld.java这个类,
Wicket会自动在com.ilucky.wicket这个包下面查找HelloWorld.Html文件自动进行匹配,
当然wicket提供了重新制定这个规则的办法,这里不做介绍.
4.创建Application的实现类.
如果要运行这个程序,还需要写一个Application类,Application类在系统中主要管理相关信息的配置,
在这里我并不对其他web框架做详细介绍,更不会拿其他web框架和Wicket做比较,只是简单的的介绍Wicket框架中一些组件的使用.
Wicket简单介绍:
1.在wicke中用Html描述UI,并将具有特殊标记的Html元素定义为UI控件,在java文件中则直接操作这些UI控件,以控制其输出及行为和样式等,
类似的框架还有Tapestry,不过Tapes的文件是通过xml文件来绑定view层和model层.总之,这种基于组件的开发方式,开创了一种新的web开发方式.
2.Wicket的框架结构与Swing非常相似,Wicket是很纯粹的Java代码,所以可以很好的应用OO设计思想.
3.虽然Wicket包含了Java和Html两部分内容,但是它并不是一种模板语言,并没有将Java代码与Html混合在一起,也不需要强制在Html代码中添加
新的语法,只需要通过在Html标签中加入wicket:id这样的方式将Java代码与Html页面进行关联.
4.Wicket结构上比较安全,它的URL经过了处理,不包含敏感的信息,并且可以对URL进行加密,所以很难直接通过URL来访问某一个功能.
对于wicket的简单介绍就到这里,接下来直接通过一个小例子来对开发基于wicket的web项目有一个大概的认识.
1.创建web项目,导入必须的jar包.
2.创建java类,直接看代码.
<span style="font-size:12px;">package com.ilucky.wicket;import org.apache.wicket.markup.html.WebPage;import org.apache.wicket.markup.html.basic.Label;/** * @author IluckySi * @date 20140331 */public class HelloWorld extends WebPage {private static final long serialVersionUID = 1L;public HelloWorld() {String model = "Hello World!";Label demo = new Label("demo", model);add(demo);}}</span>在这个java类中,我们使用了Wicket提供的Label控件来输出"Hello,World"这个字符串,对于熟悉swing的同学,这并不陌生.
3.创建html类,直接看代码.
<span style="font-size:12px;"><!DOCTYPE html><html> <head> <title>HelloWorld.html</title> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="this is my page"> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <!--<link rel="stylesheet" type="text/css" href="./styles.css">--> </head> <body> <div wicket:id="demo"></div> </body></html></span>在html文件中,我们用了wicket:id来标记此处的数据是由java类中某个控件注入的.
看到这里,问题来了,当加载某个页面的时候,如何知道html文件中的控件对应哪个java文件中的那个控件呢?
答案很简单,Wicke使用规则匹配方式在模板文件和类之间自动进行.例如对于com.ilucky.wicket.HelloWorld.java这个类,
Wicket会自动在com.ilucky.wicket这个包下面查找HelloWorld.Html文件自动进行匹配,
当然wicket提供了重新制定这个规则的办法,这里不做介绍.
4.创建Application的实现类.
如果要运行这个程序,还需要写一个Application类,Application类在系统中主要管理相关信息的配置,
并且通过getHomePage方法就可以定义用户请求时的默认页面,直接看代码.
<span style="font-size:12px;">package com.ilucky.wicket;import org.apache.wicket.Page;import org.apache.wicket.protocol.http.WebApplication;/** * @author IluckySi * @date 20140331 */public class WicketApplication extends WebApplication {public Class<? extends Page> getHomePage() {return HelloWorld.class;}}</span>
5.最后看web.xml文件,这里不做详细介绍.
<span style="font-size:12px;"><?xml version="1.0" encoding="UTF-8"?><web-app id="WebApp_ID" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"><display-name>wicket-demo</display-name> <filter> <filter-name>wicketFilter</filter-name> <filter-class>org.apache.wicket.protocol.http.WicketFilter</filter-class> <init-param> <param-name>applicationClassName</param-name> <param-value>com.ilucky.wicket.WicketApplication</param-value> </init-param> </filter> <filter-mapping> <filter-name>wicketFilter</filter-name> <url-pattern>/w/*</url-pattern> </filter-mapping></web-app></span>
完成上面五步后,将项目在tomcat下部署,然后在浏览器中就可以通过http://192.168.72.153:8080/wicket-basedemo/w/ 访问页面了.
点击本链接下载源代码!
0 0
- 创建基于wicket的web项目入门实例(一)
- 创建基于wicket的web项目(二)-常用控件
- 创建基于wicket的web项目(三)-数据绑定
- 创建基于Gradle的Web项目
- Eclipse创建基于Maven的Web项目
- Intellij Idea 创建Web项目入门(一)
- Intellij Idea 创建Web项目入门(一)激活
- Intellij Idea 入门(一)--------创建Web项目
- Intellij Idea 创建Web项目入门(一)
- Intellij Idea 创建Web项目入门(一)
- Intellij Idea 创建Web项目入门(一)
- 基于IDEA的SSH项目之一:创建web项目
- Wicket入门
- Eclipse中创建基于Maven管理的web项目
- 使用DOS命令创建一个基于Maven的Web项目
- JFinal框架基于Maven的WEB项目创建
- 使用STS创建基于maven的java web项目
- 新手创建Wicket遇到的一些问题
- Day9 - htpasswd 创建,更新用户认证文件
- NAT在NDIS中间层驱动中的实现
- 各种常用的JSON接口,值得收藏
- FLV文件格式
- hdu 1013 Digital Roots(水题)
- 创建基于wicket的web项目入门实例(一)
- 《统计学》读书笔记,第3-7章节
- 洞察网互联网的二十本书
- 传纸条(一) DP
- hdu 1076
- 虚继承与空基类优化
- 程序员面试宝典-第九章-9.1-面试例题3
- 制作带背景图的PDF
- 第一题