由于公司使用的是zk,自己通过一个月的学习对zk也有一定的了解,想深入了解和使用zk,由于公司的项目框架都是别人搭建好的,所以最好是自己亲手搭建一个zk框架,在框架搭建过程中遇到了很多问题,一个zk框架的Hello Word整整搭建了2天,网上的zk搭建一般都是eclipse而我进了公司一直再用IDEA,所以我决定用IDEA亲自搭建一个zk.

    ZK: 它是什么?

        ZK 是一个事件驱动(event-driven)的,基于组件(component-based)的,用以丰富 网络程序中用户界面的框架。ZK 包括一个基于 AJAX 事件驱动的引擎(engine),一套 丰富的 XUL 和 XHTML,以及一种被称为 ZUML(ZK User Interface Markup Language,ZK 用户界面标记语言)的标记语言。

废话不多说直接上代码

先来看下idea创建的目录结构(如果不会创建maven项目请参考https://blog.csdn.net/qq_40646143/article/details/81508088)

pom.xml的配置

 <properties><spring.version>4.0.5.RELEASE</spring.version><mybatis.version>3.2.1</mybatis.version><slf4j.version>1.6.6</slf4j.version><log4j.version>1.2.12</log4j.version><mysql.version>5.1.35</mysql.version></properties><dependencies><!-- https://mvnrepository.com/artifact/org.zkoss.common/zcommon --><dependency><groupId>org.zkoss.common</groupId><artifactId>zcommon</artifactId><version>8.0.2.2</version></dependency><!-- https://mvnrepository.com/artifact/org.zkoss.common/zel --><dependency><groupId>org.zkoss.common</groupId><artifactId>zel</artifactId><version>8.0.2.2</version></dependency><!-- https://mvnrepository.com/artifact/org.zkoss.common/zweb --><dependency><groupId>org.zkoss.common</groupId><artifactId>zweb</artifactId><version>8.0.2.2</version></dependency><!-- https://mvnrepository.com/artifact/org.zkoss.zk/zhtml --><dependency><groupId>org.zkoss.zk</groupId><artifactId>zhtml</artifactId><version>8.0.2.2</version></dependency><!-- https://mvnrepository.com/artifact/org.zkoss.zk/zk --><dependency><groupId>org.zkoss.zk</groupId><artifactId>zk</artifactId><version>8.0.2.2</version></dependency><!-- https://mvnrepository.com/artifact/org.zkoss.zk/zkbind --><dependency><groupId>org.zkoss.zk</groupId><artifactId>zkbind</artifactId><version>8.0.2.2</version></dependency><!-- https://mvnrepository.com/artifact/org.zkoss.zk/zkplus --><dependency><groupId>org.zkoss.zk</groupId><artifactId>zkplus</artifactId><version>8.0.2.2</version></dependency><!-- https://mvnrepository.com/artifact/org.zkoss.zk/zul --><dependency><groupId>org.zkoss.zk</groupId><artifactId>zul</artifactId><version>8.0.2.2</version></dependency><!-- 添加Spring依赖 --><dependency><groupId>org.springframework</groupId><artifactId>spring-core</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-context-support</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-aop</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-aspects</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-tx</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-jdbc</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-web</artifactId><version>${spring.version}</version></dependency><!--spring单元测试依赖 --><dependency><groupId>org.springframework</groupId><artifactId>spring-test</artifactId><version>${spring.version}</version><scope>test</scope></dependency><!-- spring webmvc相关jar --><dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-web</artifactId><version>${spring.version}</version></dependency><!-- mysql驱动包 --><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>${mysql.version}</version></dependency><!-- alibaba data source 相关jar包--><dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId><version>0.2.23</version></dependency><!-- alibaba fastjson 格式化对 --><dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.1.41</version></dependency><!-- logback start --><dependency><groupId>log4j</groupId><artifactId>log4j</artifactId><version>${log4j.version}</version></dependency><dependency><groupId>org.slf4j</groupId><artifactId>slf4j-api</artifactId><version>${slf4j.version}</version></dependency><dependency><groupId>ch.qos.logback</groupId><artifactId>logback-classic</artifactId><version>1.1.2</version></dependency><dependency><groupId>ch.qos.logback</groupId><artifactId>logback-core</artifactId><version>1.1.2</version></dependency><dependency><groupId>org.logback-extensions</groupId><artifactId>logback-ext-spring</artifactId><version>0.1.1</version></dependency><!--mybatis依赖 --><dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>${mybatis.version}</version></dependency><!-- mybatis/spring包 --><dependency><groupId>org.mybatis</groupId><artifactId>mybatis-spring</artifactId><version>1.2.0</version></dependency><!-- 添加servlet3.0核心包 --><dependency><groupId>javax.servlet</groupId><artifactId>javax.servlet-api</artifactId><version>3.0.1</version></dependency><dependency><groupId>javax.servlet.jsp</groupId><artifactId>javax.servlet.jsp-api</artifactId><version>2.3.2-b01</version></dependency><!-- jstl --><dependency><groupId>javax.servlet</groupId><artifactId>jstl</artifactId><version>1.2</version></dependency><!--单元测试依赖 --><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>3.8.1</version><scope>test</scope></dependency><!--JS https://mvnrepository.com/artifact/org.mozilla/rhino --><dependency><groupId>org.mozilla</groupId><artifactId>rhino</artifactId><version>1.7.10</version></dependency></dependencies>

接下来就是配置web.xml文件

  <!-- ZK --><listener><description>ZK listener for cleanup when a session is destroyed</description><listener-class>org.zkoss.zk.ui.http.HttpSessionListener</listener-class>
</listener><servlet><description>ZK loader for evaluating ZUML pages</description><servlet-name>zkLoader</servlet-name><servlet-class>org.zkoss.zk.ui.http.DHtmlLayoutServlet</servlet-class><!--Must. Specifies URI of the update engine (DHtmlUpdateServlet). Itmust be the same as <url-pattern> for the update engine.--><init-param><param-name>update-uri</param-name><param-value>/zkau</param-value></init-param><load-on-startup>1</load-on-startup><!-- MUST --></servlet><servlet-mapping><servlet-name>zkLoader</servlet-name><url-pattern>*.zul</url-pattern></servlet-mapping><servlet-mapping><servlet-name>zkLoader</servlet-name><url-pattern>*.zhtml</url-pattern></servlet-mapping><servlet><description>The asynchronous update engine for ZK</description><servlet-name>auEngine</servlet-name><servlet-class>org.zkoss.zk.au.http.DHtmlUpdateServlet</servlet-class></servlet><servlet-mapping><servlet-name>auEngine</servlet-name><url-pattern>/zkau/*</url-pattern></servlet-mapping><!-- Filter 定义  --><!-- Character Encoding filter --><filter><filter-name>encodingFilter</filter-name><filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class><init-param><param-name>encoding</param-name><param-value>UTF-8</param-value></init-param><init-param><param-name>forceEncoding</param-name><param-value>true</param-value></init-param></filter><filter-mapping><filter-name>encodingFilter</filter-name><url-pattern>/*</url-pattern></filter-mapping><!-- 配置DispatcherServlet --><servlet><servlet-name>SpringMVC</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><!-- 配置springMVC需要加载的配置文件--><init-param><param-name>contextConfigLocation</param-name><param-value>classpath:spring-*.xml</param-value></init-param><load-on-startup>1</load-on-startup><async-supported>true</async-supported></servlet><servlet-mapping><servlet-name>SpringMVC</servlet-name><!-- 匹配所有请求,此处也可以配置成 *.do 形式 --><url-pattern>/</url-pattern></servlet-mapping><welcome-file-list><welcome-file>index.jsp</welcome-file></welcome-file-list>

接下来配置spring-mvc.xml文件

 <!-- 扫描web相关的bean --><context:component-scan base-package="com.hp.controller"/><!-- 开启SpringMVC注解模式 --><mvc:annotation-driven/><!-- 静态资源默认servlet配置 --><mvc:default-servlet-handler/><!-- 配置jsp 显示ViewResolver --><bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"><property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/><property name="prefix" value="/WEB-INF/main/"/><property name="suffix" value=".zul"/></bean>

创建indexController.java

package com.hp.controller;import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
@RequestMapping("/User")
public class IndexController{@RequestMapping(value = "/index")public String index() {return "/index";}}

我返回的是index.zul页面 ,接下来index.zul页面的配置

<window title="Hello" border="normal"><label value="hello word"></label>
</window>

接下来我们启动项目,看看运行的效果

如果不出意外的话你运行会出现这个错误 java.lang.ClassNotFoundException: org.zkoss.zk.ui.http.HttpSessionListener

我也是出现了这个错误解决想了好久终于搞定,这个错误的解决办法 https://blog.csdn.net/qq_40646143/article/details/81531772

IDEA创建ZK框架入门Hello word相关推荐

  1. Newbe.Claptrap 框架入门,第二步 —— 创建项目

    接上一篇 <Newbe.Claptrap 框架入门,第一步 -- 开发环境准备>,我们继续了解如何创建一个 Newbe.Claptrap 项目. 安装项目模板 打开控制台运行以下命令来安装 ...

  2. zk框架_ZK Web框架思想

    zk框架 我曾多次被要求提出一些有关ZK的意见. 因此,根据我4年作为ZK用户的经验,有一些想法: 总体开发人员经验,社区和文档 "就是这样" ZK提供的大多数东西都能很好地工作, ...

  3. 『Scrapy』爬虫框架入门

    框架结构 引擎:处于中央位置协调工作的模块 spiders:生成需求url直接处理响应的单元 调度器:生成url队列(包括去重等) 下载器:直接和互联网打交道的单元 管道:持久化存储的单元 框架安装 ...

  4. c++框架有哪些_Java Mybatis框架入门教程_v20200726

    MyBatis 的前身是 Apache 的开源项目 iBatis.MyBatis 几乎可以代替 JDBC,是一个支持普通 SQL 查询,存储过程和高级映射的基于 Java 的优秀持久层框架.MyBat ...

  5. [Python] Django框架入门

    说明:Django框架入门 当前项目环境:python3.5.django-1.11 项目名:test1 应用名:booktest 命令可简写为:python manager.py xxx => ...

  6. python web 框架例子_最快的 Python Web 框架入门

    原标题:最快的 Python Web 框架入门 来源:Python开发 ID:PythonPush 速度比较 框架 实现基础 每秒请求数 平均时间 Sanic Python 3.5 + uvloop ...

  7. SpringBatch批处理框架入门(二)

    这篇文章接上一篇SpringBatch批处理框架入门(一),继续讲解SpringBatch基础知识. 目录 SpringBatch 核心类介绍 SpringBatch 核心类Job SpringBat ...

  8. wxWidgets:创建其他框架

    wxWidgets:创建其他框架 wxWidgets:创建其他框架 介绍 入门 实现框架的层次结构 子框架与父框架之间的通信 概括 wxWidgets:创建其他框架 介绍 创建其他框架 到目前为止,我 ...

  9. spring框架mvc框架_Spring的MVC测试框架入门–第1部分

    spring框架mvc框架 最新推出的主要Spring框架是Spring MVC测试框架,Spring Guys声称它是"一流的JUnit支持,可通过流畅的API测试客户端和服务器端Spri ...

最新文章

  1. spark 提交任务到集群
  2. springcloud ribbon retryTemplate操作流程分析
  3. 凤凰式期权matlab代码,美式期权二叉树定价及MATLAB程序.doc
  4. 35. 搜索插入位置-LeetCode
  5. Nodejs之http模块详解
  6. cloc统计想项目行数
  7. J.U.C之并发工具类:Exchanger
  8. php-fpm哪里下载_centos – Nginx PHP-FPM提供.php文件作为下载
  9. [转载] AWS之EMR数据ES通过数据仓库HIVE同步S3
  10. matlab 图片字符切割,基于MATLAB的图片中字符的分割与识别
  11. MongoTemplate根据时间查询的大坑
  12. java预研项目_YAML预研文档
  13. 一文理解所有需求分析中的基本术语
  14. Ruoyi 图片上传
  15. ADB向手机安装APK失败
  16. keilU5中.lib文件的生成与调用
  17. Navicat 15中文安装教程
  18. Cent OS借助YUM快速安装MySQL
  19. 推荐给大家推荐一款可以修改图片的工具iSee
  20. 关于torch.size()和torch.size(0)

热门文章

  1. 一文让你搞懂什么是Redis集群
  2. OSChina 周二乱弹 ——区块链与女朋友之间的关系
  3. 【翻译】Mathematical Analysis of Algorithms
  4. CentOs安装字体(解决aspose word 中文乱码问题)
  5. 计算机的隐藏小秘密,手机里隐藏的小秘密,不看真的会后悔!(一)
  6. Python:7-1 jmu-python-分段函数数学函数 (15分)
  7. 彻底解决 Ubuntu 10.04 对部分声卡不支持或耳机无声的问题
  8. geohash java github_geohash
  9. MySQL 进阶 视图 -- 视图介绍、视图CRUD语法、检查选项(CASCADED、LOCAL)、视图的更新、视图作用、视图案例
  10. 2020考研数学视频