一、Nutz

是一组轻便小型的框架集合,可以极大程度上提高开发人员的生产力,更多内容请点击访问Nutz官网。Nutz主要包括以下几个模块:

  • DAO:针对JDBC进行了薄封装,事务模板,无缓存
  • IoC:JSON风格配置文件,声明时切片支持
  • MVC:注解风格配置,内置文件上传功能
  • JSON:实现了对JSON的解析和渲染
  • Castors:Java对象类型的转换
  • Lang:更简洁的Java函数以及更丰富的反射支持
  • AOP:轻便快速的切面编程支持
  • Resource:资源扫描

二、Nutz使用:

1. 创建maven项目,导入Nutz

    <dependency><groupId>org.nutz</groupId><artifactId>nutz</artifactId><version>1.r.68.v20190621</version></dependency>

2. 配置web.xml,将网络请求交给Nutz处理

以下是在使用Nutz前的几点说明:

  • Nutz是以模块为概念的,类似于Spring中的每一个Controller就相当于Nutz中的模块。
  • 配置filter用于过滤请求,并最终把这些请求交给Nutz处理,这一点更加类似于配置struts时的filter,和SpringMVC中的DispatcherServlet较为类似。
  • 我们需要给Nutz指定主模块,Nutz从主模块开始扫描其他模块。一般主模块用来初始化项目,如果只是一个简单的单一类,这时均采用Nutz的默认配置。如下:
 package com.nutz;public class Main {}
  • 我们可以利用@Modules注解说明需要加载的模块,当然,我们也可以不指定,这样Nutz会对同包和子包下的类进行自动扫描,加载成Nutz的模块,这一点类似于SprigBoot的启动类。
  • 下面是web.xml中的具体配置。
  <filter><filter-name>nutFilter</filter-name><filter-class>org.nutz.mvc.NutFilter</filter-class><init-param><!-- 在此处我们需要自定义Nutz的主模块 --><param-name>modules</param-name><param-value>com.nutz.Main</param-value></init-param></filter><filter-mapping><filter-name>nutFilter</filter-name><url-pattern>/*</url-pattern></filter-mapping>

3. 写第一个模块,包结构如下:

package com.nutz.controller;import org.nutz.mvc.annotation.At;
import org.nutz.mvc.annotation.Ok;public class UserController {@At("/user")@Ok("jsp:jsp.hello")public String user(){return "这里是用户模块";}}

注解说明:

  • @At:指定url,类似于@RequestMapping
  • @Ok:指定方法执行成功后,所返回的页面,这里我们返回的页面是hello.jsp,内容如下:
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head><title>Title</title>
</head>
<body><!-- 在这里我们拿到方法的返回值 --><%=request.getAttribute("obj") %></body>
</html>

4. 因为Nutz官方推荐使用Jetty,我们这里需要配置Jetty,Jetty可以充当Servlet引擎和Http服务器,也就是我们常说的WEB容器,但是它比Tomcat更加轻量。关于Jetty的更多内容,之后会单独再写一篇博客。

  • 下载Jetty解压
  • 更改Jetty的启动配置(start.ini),否则我们无法在Idea中使用。我们需要加上--modules=jmx,如图。
  • 将jetty添加至Idea,如图。

5.启动项目,访问/user

项目成功启动后,控制台会有如下信息。

我们对项目进行访问,可以得到如下页面。(Jetty默认端口为8080)

三、说明

第一次学习Nutz,不得不说,Nutz框架较Spring轻便,但是Nutz框架和Spring还有一定的差距,因此,Nutz只适合一些小型项目,或者作为原型开发框架进行使用。后面会逐步向大家介绍Nutz框架各模块的使用方法。

【Nutz】Nutz起步相关推荐

  1. 【转】Nutz | Nutz项目整合Spring实战

    http://blog.csdn.net/evan_leung/article/details/54767143 Nutz项目整合Spring实战 前言 Github地址 背景 实现步骤 加入spri ...

  2. (转)Nutz | Nutz项目整合Spring实战

    http://blog.csdn.net/evan_leung/article/details/54767143 Nutz项目整合Spring实战 前言 Github地址 背景 实现步骤 加入spri ...

  3. 品尝小坚果, Test the nutz ! nutz入门

    简介: Nutz是国人开发的一款javaEE框架, 拥有常用的AOP,IOC,MVC,ORM,等功能, 体积却只有1m. Let us test it ,gogogo 准备材料: nutz-1.b.3 ...

  4. Nutz | Nutz项目整合Spring实战

    Nutz项目整合Spring实战 前言 Github地址 背景 实现步骤 加入springMvc与Spring 相关配置 新增Spring相关配置 新增SpringIocProvider 重写Nutz ...

  5. nutz mysql druid_SpringBoot+Druid+Nutz+Jasypt整合配置多数据源

    一 .    引入依赖 org.springframework.boot spring-boot-starter-web mysql mysql-connector-java runtime org. ...

  6. 2014年最热门的国人开发开源软件TOP100

    2014年最热门的国人开发开源软件TOP100 不知道从什么时候开始,很多一说起国产好像就非常愤慨,其实大可不必.做开源中国六年有余,这六年时间国内的开源蓬勃发展,从一开始的使用到贡献,到推出自己很多 ...

  7. jdbc mysql ssh通道_Jdbc使用ssh通道连接Mysql

    很多时候,我们可能会出现这种情况:我们的程序无法直接连接数据库,而要通过某一台linux等中间机器来实现一个中转,比如我们的机器是A,数据库是C,A和C不能直接连接,但A可以连接B,B可以连接C,这时 ...

  8. (2)Hadoop核心 -- java代码对MapReduce的例子1

    案例一:wordcount字数统计功能 1.1 先准备两个txt文件,并上传到hdfs上 test1.txt hello zhangsan lisi nihao hai zhangsan nihao ...

  9. hadoop系列三:mapreduce的使用(一)

    一:说明 此为大数据系列的一些博文,有空的话会陆续更新,包含大数据的一些内容,如hadoop,spark,storm,机器学习等. 当前使用的hadoop版本为2.6.4 上一篇:hadoop系列二: ...

最新文章

  1. wordpress启动初始化过程
  2. [方法提炼] 获取Android设备序列号方法
  3. DHL出台货运新方案
  4. 博客系统知多少:揭秘那些不为人知的学问(三)
  5. leetcode 922. 按奇偶排序数组 II(双指针)
  6. unity如何往下挖地形_Unreal Engine地形系统辨析(一)
  7. JS 面向对象实例 prototype
  8. python读txt写入excel_Python读取txt内容写入xls格式excel中的方法
  9. SpringBoot实战教程(4)| 整合Mybatis
  10. Native Instruments Battery 4 for mac - 尖端鼓采样器
  11. 约瑟夫环c语言程序完整版,约瑟夫环C语言实现源代码(1)
  12. JS开发3D建模软件
  13. 基于STM32开发板和Web网页的蔬菜大棚温湿度、光照等变化的动态柱形图表
  14. ps隐藏路径快捷键和PS隐藏路径的三种方法
  15. ultravnc 反向连接_C程序以反向显示链接列表
  16. C++线程学习4,多线程通信和同步
  17. 设置Excel单元格行宽列高
  18. 基于VS的印刷数字识别系统
  19. 2.雅思口语--表达正面评价的词汇
  20. 中标麒麟6安装Qt 4.8.4+QtCreator 2.7.0 NeoKylin Linux Desktop Release 6+Qt4.8.4+QtCreator2.7.0

热门文章

  1. QT-按下按钮实现页面跳转
  2. 通过外扫二维码判断手机是否有某App
  3. 行云管家V4.9正式发布:监控全面提升,首页、主机详情大幅优化,新增大量实用功能...
  4. Support for password authentication was removed on August 13, 2021. Please use a personal access tok
  5. Mac charles 配置ssl
  6. 从简历被拒到收割今日头条offer,我花了一年时间
  7. Centos 7 开机一直转圈 错误 failed to load SELinux policy freezing
  8. General information (1)
  9. java 读取邮件正文_JavaMail入门第五篇 解析邮件
  10. 谷歌收购摩托罗拉移动扫清障碍:获专利盾牌