`
congpeixue
  • 浏览: 269535 次
  • 性别: Icon_minigender_1
  • 来自: ...
社区版块
存档分类
最新评论

Click framework 快速入门指南

阅读更多
本章讨论的是如何快速组建一个web应用程序。只涉及基本的使程序能运行成功的部分, 不涉及IDE的配置。
该快速入门程序包含在Examples文件夹下。

接下去的主题将涵盖:

web应用结构
Jar文件
Welcome File
Home Page
框架模板
日志
入门工程快速生成


web应用结构

首先在你的web程序WEB-INF 目录下添加click.xml 和web.xml 配置文件。
click.xml
你的click.xml应该包含:
<?xml version="1.0" encoding="UTF-8"?> 
<click-app> 

  <pages package="com.quickstart.page"/>

</click-app>  


web.xml
你的web.xml应该包含
<?xml version="1.0" encoding="UTF-8"?>
<web-app>

  <servlet>
    <servlet-name>ClickServlet</servlet-name>
    <servlet-class>net.sf.click.ClickServlet</servlet-class>
    <load-on-startup>0</load-on-startup>
  </servlet>
  
  <servlet-mapping>
    <servlet-name>ClickServlet</servlet-name>
    <url-pattern>*.htm</url-pattern>
  </servlet-mapping>
  
  <welcome-file-list>
    <welcome-file>redirect.html</welcome-file>
  </welcome-file-list>
  
</web-app>


Jar文件

把如下jar文件添加到你的程序的WEB-INF/lib目录下:
click-1.x.jar
click-extras-1.x.jar

你可以在Click 的dist目录下获得这些文件。

Welcome File

为确保默认的请求被转发到 home page, 我们将在web程序根目录下新建
redirect.html。 文件内容:
<html>
<head><meta http-equiv="Refresh" content="0;URL=home.htm"></head>
</html>  


在web.xml中配置redirect.html, 使默认的请求都由该文件来提供服务。
当浏览器执行redirect.html 时, 它将被转发到home.html页面。

Home Page

现在我们准备来添加我们的第一个Click页面来作为我们应用程序的主页。
首先我们定义一个class HomePage , 确保该class文件部署到应用程序
的 WEB-INF/classes 目录 。
package com.quickstart.page;

import net.sf.click.Page;

public class HomePage extends Page {

} 


我们在web主目录下添加相应的主页home.htm 。
<html>
<head>
  <title>Home</title>
  <link rel="stylesheet" type="text/css" href="style.css" title="Style"/>
</head>

<body>
 
  <div id="header">
    <span id="title">Home</span>
  </div>

  <div id="container">
    <b>Welcome</b> to Home page your application starting point.
  </div>
 
</body>
</html> 


在你的主目录下添加 style.css文件
body {
	font-family: Arial;
}

#header {
	background-color: navy;
}

#title {
	color: white; 
	font-size: 18px;
	font-weight: bolder;
}

#container { 
	padding-top: 1em;
	padding-left: 1.5em;
	position: relative;
	z-index: 0;
}

h3.title {
	margin-top: 0em;
	margin-bottom: 1em;
}


现在如果你web应用被部署到quickstart, 你应该能够生成如下请求:
http://localhost:8080/quickstart/
你的浏览器被定位到HomePage , 你应该能看到如下页面:


在这个例子中,Click将对文件home.htm的请求自动映射到HomePage class,
并使用该class来处理请求。

框架模板(Border Template)

现在我们打算建立一个页面框架模板,以便应用程序页面有一个统一的风格。
首先在web根目录下建立文件border-template.htm。 此文件包含如下内容。
<html>
<head>
<title>Click Quickstart - $title</title>
<link rel="stylesheet" type="text/css" href="$context/assets/style.css" title="Style"/>
</head>

<body>
 
  <div id="header">
    <span class="title">$title</span>
  </div>
  
  <div id="container">
    #parse($path)
  </div>
 
</body>
</html> 

现在我们定义BorderPage 类, 并将border-template.htm 文件指定为他的
模板。

package com.quickstart.page;

import net.sf.click.Page;

public class BorderPage extends Page {

   public String getTemplate() {
      return "border-template.htm";
   }

}


我们命名模板文件为border-template.htm , 以便它不会自动地被Click映射
我们的BorderPage 类。
现在我们修改HomePage 类, 使其继承自BorderPage , 并定义一个title字段。

public class HomePage extends BorderPage {

    public String title = "Home";

} 


修改home.htm, 将页面borber去掉。 home.html内容如下:
<b>Welcome</b> to Home page your application starting point. 

修改后的web应用程序文件如下:



现在, 如果你将浏览器请求定位到更新后的页面,你应该能够看到和前面同样的页面。

日志


Click有一些自带的日志功能, 它们可以帮助你显示页面模板何时自动映射到
页面class。 可以在click.xml中添加debug模块来激活debug日志。

<?xml version="1.0" encoding="UTF-8"?> 
<click-app> 

  <pages package="com.quickstart.page"/>

  <mode value="debug"/>

</click-app>  


当click应用启动的时候,它将打印如下日志信息:
[Click] [debug] automapped pages:
[Click] [debug] /border-template.htm -> CLASS NOT FOUND
[Click] [debug] /home.htm -> com.quickstart.page.HomePage
[Click] [info ] initialized in debug mode  

click告诉我们 border-template.htm 模板没有映射到任何page类,但是
home.htm 模板被映射到HomePage 类,我们还可以得出click正运行在debug
模式下。

当向我们的主页发送一个请求时, 我们可以得到如下输出:
[Click] [debug] GET http://localhost:8080/quickstart/home.htm
[Click] [info ] renderTemplate: /home.htm,border-template.htm - 46 ms
[Click] [info ] handleRequest:  /home.htm - 62 ms  


它告诉我们ClickServlet收到的http请求。然后我们看到绘制页面home.htm
和模板border-template.htm 用掉了41毫秒。最后,我们可以看到处理请求
共用掉了62毫秒。
如果你想获得更多的debuging信息, 你可以将应用模式设置为trace。
现在, 我们向浏览器发送一个请求:
http://localhost:8080/quickstart/home.htm?user=malcolm&password=secret

我们可以看到请求参数被记录下来,这对调试post方式提交的表单很有用处。
[Click] [debug] GET http://localhost:8080/quickstart/home.htm
[Click] [trace]    request param: password=secret
[Click] [trace]    request param: user=malcolm
[Click] [trace]    invoked: HomePage.<<init>>
[Click] [trace]    invoked: HomePage.onSecurityCheck() : true
[Click] [trace]    invoked: HomePage.onInit()
[Click] [trace]    invoked: HomePage.onGet()
[Click] [trace]    invoked: HomePage.onRender()
[Click] [info ]    renderTemplate: /user/home.htm,border-template.htm - 6 ms
[Click] [trace]    invoked: HomePage.onDestroy()
[Click] [info ] handleRequest:  /home.htm - 24 ms  



附: 文件下载
  • 大小: 11.9 KB
  • 大小: 15.4 KB
分享到:
评论
3 楼 windlike 2010-11-30  
嗯,其他语言能做的,java也可以做,让我重拾了对java的信心
2 楼 congpeixue 2008-07-28  
对的啊 , 是一个框架,
引用
Click is a simple JEE web application framework for commercial Java developers
1 楼 qichunren 2008-07-28  
click jee framework 是一个J2EE框架吧?我都没有听说过.

相关推荐

    click-book apache click framework介绍

    click-book apache click framework介绍

    clickonce发布指南

    clickonce发布指南,详细说明了如何使用clickonce发布windows应用程序。图解

    用于 Firefox 的 .NET Framework Assistant 1.0 的 .NET Framework 3.5 SP1 更新

    在 .NET Framework 3.5 SP1 中,.NET Framework Assistant 使 Firefox 可以使用 .NET Framework 中所包含的 ClickOnce 技术。.NET Framework Assistant 是在计算机级别添加的,支持计算机的所有用户使用其功能。因而...

    Apache Click 入门实例

    Apacle Click Hello World 入门实例 Page类和页面

    .NET Framework 2.0

    Microsoft .NET Framework 版可再发行组件包将安装运行针对 .NET Framework 2.0 版开发的应用程序时所需的 .NET Framework 运行库及相关文件。 .NET Framework版改进了缓存,从而提高了应用程序的可扩展性和性能;...

    Microsoft .NET Framework 3.5 Service Pack 1

    有关更多信息,请参见 Getting Started with the Entity Framework(实体框架入门)。实体框架还引入了一些其他功能,包括支持 SQL Server 2008 的新类型、默认实体图形序列化和实体数据源。在此版本中,实体框架...

    Click Framework-开源

    Click Framework是一个易于学习和使用的J2EE Web应用程序框架。 Click是为商业Java团队开发的Web应用程序而设计的。 使用Click,开发人员应该能够在一天内启动并运行。

    RobotFramework基础教程.pdf

    kw ${search_key} click button id:su Evaluate time.sleep(2) time ${title} Get title [Return] ${title} *** Test Case *** case1 Open Browser ${URL} ${BROWSER} ${title} Baidu Search robot framework Should...

    Microsoft .NET Framework 2.0 版 可再发行组件包

    Microsoft .NET Framework 2.0 版可再发行组件包将安装运行针对 .NET Framework 2.0 版开发的应用程序时所需的 .NET Framework 运行库及相关文件。 .NET Framework 2.0 版改进了缓存,从而提高了应用程序的可扩展性...

    ChatGPT 和 Midjourney 相关入门指南及资料分享

    ChatGPT 入门教程 - [GPT 学习宝典](https://gpt.candobear.com/) - [ChatGPT 知识库](https://chatgpt.moyucm.xyz/) - [The Ultimate Chat GPT Course]...

    Apache Click User Guide

    Apache Click is a simple JEE web application framework for commercial Java developers. Apache Click is an open source project, licensed under the Apache license . Click uses an event based programming...

    js不完美解决click和dblclick事件冲突问题

    情况描述 当某个元素,如:div,同时绑定了click事件和dblclick事件,而这两个事件又要处理相对独立的业务,也就是click的时候不能触发dblclick,dblclick的时候不能触发click。在实际测试中发现,当dblclick的时候...

    Apache Click 2.3用户指南 中文翻译

    Apache Click 2.3用户指南 中文翻译

    ClickOnce添加外部文件

    关键字:ClickOnce,添加外部文件,Visual Studio 2008 SP1,.NET Framework 3.5,SmartClient 环境:XP SP3,Visual Studio 2008 SP1,.NET Framework 3.5 本人之前在鼓捣SmartClient相关的东东,需要借助...

    深度挖掘.NET Framework 2.0系列课程-(1)Click-Once 安装技术

    深度挖掘.NET Framework 2.0系列课程-(1)Click-Once 安装技术

    Microsoft Visual Studio 打包目标框架Net Framework4.0

    Microsoft Visual Studio 2022 setup project 打包中缺少目标框架Net Framework4.0,将该压缩包解压放置C:\Program Files (x86)\Microsoft SDKs\ClickOnce Bootstrapper\Packages路径中。

    click-2.3.0.zip

    Click is a J2EE web application framework featuring a Page and Component oriented design. Click is an open source project licensed using the Apache license.

    clickshare扩展屏插件

    clickshare扩展屏插件,用于clickshare-200 投屏后启用扩展功能的插件。

    Python库 | robotframework-selenium2library-1.7.0.win-amd64.exe

    资源分类:Python库 所属语言:Python 使用前提:需要解压 资源全名:robotframework-selenium2library-1.7.0.win-amd64.exe 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059

Global site tag (gtag.js) - Google Analytics