当前位置: 首页 > news >正文

Nutz简单项目创建

Nutzwk3.X

Web.xml配置
在web.xml中配置nutz的过滤器来进行配置项目启动项目

<filter> <filter-name>nutz</filter-name> <filter-class>org.nutz.mvc.NutFilter</filter-class> <init-param> <param-name>modules</param-name> <param-value>cn.main.Module</param-value> 启动经过的主类 Module为类名 </init-param> </filter> <filter-mapping> <filter-name>nutz</filter-name> <url-pattern>/*</url-pattern> <dispatcher>REQUEST</dispatcher> <dispatcher>FORWARD</dispatcher> </filter-mapping>

入口类:必须要有的入口类

入口类 @Modules(scanPackage = true, packages = "cn.modules") @Ok("json:full") @Fail("http:500") @IocBy(type = ComboIocProvider.class, args = {"*json","ioc/", "*anno", "cn.modules"}) @Localization(value = "locales/", defaultLocalizationKey = "zh_CN") @Encoding(input = "UTF-8", output = "UTF-8") public class Module { }

Controller访问层

@IocBean public class HelloController { @Inject private BookService bookService; @At("/hello") @Ok("jsp:/index.jsp") public String hello(){ return "hello nutz"; } @At("/loginPage") @Ok("jsp:/templates/login.jsp") public String loginPage(){ return "hello nutz"; } @At("/doLogin") @Ok("jsp:/templates/index.jsp") public String login(String username,String password){ Book book = new Book(); book.setName(username); bookService.dao().insert(book); return "success"; } }

Service
Service层继承nutz提供的service 但必须注入dao配置

Service 可以继承EntityService 但必须要有注入dao的配置

@IocBean(args = {"refer:dao"}) public class BookService extends EntityService<Book> { public BookService(Dao dao) { super(dao); } }

IOC dao数据源及数据库配置(访问数据库必备)

Ioc/dao.json配置

var ioc = { dataSource : { type : "com.alibaba.druid.pool.DruidDataSource", events : { create : "init", depose : 'close' }, fields : { url : "jdbc:mysql://127.0.0.1:3306/nutzwk",//数据库的地址 username : "root", password : "root", testWhileIdle : true, // 非常重要,预防mysql的8小时timeout问题 validationQuery : "select 1" , // Oracle的话需要改成 select 1 from dual maxActive : 100 } }, dao : { type : "org.nutz.dao.impl.NutDao", args : [{refer:"dataSource"}] } };

完整pom文件

<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>cn.nutz</groupId> <artifactId>test</artifactId> <version>1.0-SNAPSHOT</version> <packaging>war</packaging> <name>test Maven Webapp</name> <!-- FIXME change it to the project's website --> <url>http://www.example.com</url> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <maven.compiler.source>1.7</maven.compiler.source> <maven.compiler.target>1.7</maven.compiler.target> </properties> <dependencies> <!-- 核心jar --> <dependency> <groupId>org.nutz</groupId> <artifactId>nutz</artifactId> <version>1.r.68.v20190220</version> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>3.1.0</version> <scope>provided</scope> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.11</version> <scope>test</scope> </dependency> <!-- https://mvnrepository.com/artifact/javax.servlet.jsp.jstl/jstl --> <dependency> <groupId>javax.servlet.jsp.jstl</groupId> <artifactId>jstl</artifactId> <version>1.2</version> </dependency> <!-- https://mvnrepository.com/artifact/taglibs/standard --> <dependency> <groupId>taglibs</groupId> <artifactId>standard</artifactId> <version>1.1.2</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.41</version> </dependency> <!--阿里巴巴数据员--> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.0.26</version> <exclusions> <exclusion> <groupId>com.alibaba</groupId> <artifactId>jconsole</artifactId> </exclusion> <exclusion> <groupId>com.alibaba</groupId> <artifactId>tools</artifactId> </exclusion> </exclusions> </dependency> </dependencies> <build> <finalName>test</finalName> <pluginManagement><!-- lock down plugins versions to avoid using Maven defaults (may be moved to parent pom) --> <plugins> <plugin> <artifactId>maven-clean-plugin</artifactId> <version>3.1.0</version> </plugin> <!-- see http://maven.apache.org/ref/current/maven-core/default-bindings.html#Plugin_bindings_for_war_packaging --> <plugin> <artifactId>maven-resources-plugin</artifactId> <version>3.0.2</version> </plugin> <plugin> <artifactId>maven-compiler-plugin</artifactId> <version>3.8.0</version> </plugin> <plugin> <artifactId>maven-surefire-plugin</artifactId> <version>2.22.1</version> </plugin> <plugin> <artifactId>maven-war-plugin</artifactId> <version>3.2.2</version> </plugin> <plugin> <artifactId>maven-install-plugin</artifactId> <version>2.5.2</version> </plugin> <plugin> <artifactId>maven-deploy-plugin</artifactId> <version>2.8.2</version> </plugin> </plugins> </pluginManagement> </build> <repositories> <repository> <id>nutz</id> <url>http://jfrog.nutz.cn/artifactory/libs-release</url> <snapshots> <enabled>false</enabled> </snapshots> </repository> <repository> <id>nutz-snapshots</id> <url>http://jfrog.nutz.cn/artifactory/snapshots</url> <snapshots> <enabled>true</enabled> <updatePolicy>always</updatePolicy> </snapshots> <releases> <enabled>false</enabled> </releases> </repository> </repositories> </project>
http://www.jsqmd.com/news/1281598/

相关文章:

  • 大模型应用开发架构设计与工程实践指南
  • IPBan实战指南:构建企业级服务器安全防护架构
  • QueryExcel终极指南:三分钟搞定上百个Excel文件搜索的免费解决方案
  • 2026 年东莞一站式拆除清运 场地平整 家装拆除选择技巧 - LYL仔仔
  • 图神经网络实战:Node2Vec算法与UMAP可视化全解析
  • ThinkPHP 8与TCP协议交互机制深度解析
  • 七次非均匀B样条与NSGA-II在轨迹规划中的联合应用
  • JAVA计算机毕设之 基于 SpringBoot 的个性化网课资源推送系统智能课程推荐与在线学习一体化教育平台(完整前后端代码+说明文档+LW,调试定制等)
  • 无需Root!用Termux在Android手机安装Kali NetHunter完整指南
  • 终极指南:如何用Input Leap实现跨设备无缝控制
  • 3分钟搞定专业级视频抠像:MatAnyone让你告别绿幕和复杂后期
  • 2026.7月南海区厨卫免砸砖防水根治指南 不拆砖不动装防霉抗沉降不返漏 - 超人防水
  • AI客服替代率超65%却遭投诉激增?这1个对话意图识别漏洞,让87%企业返工重训模型
  • 别等“准备好”——AI窗口期仅剩11个月!普通人抢占先机的3个黄金动作(限时公开)
  • 基于CNN的鱼类识别系统开发与实践
  • 480万缺口vs1.2万裁员:网络安全专业还能选吗?
  • django定制后台
  • Godot游戏开发:构建稳健的死亡与重生机制
  • 使用mock(沙箱)进行支付测试
  • 在Django中使用Xadmin
  • 篮球口袋教练 HarmonyOS 学习应用(05):练习记录与体能训练计划
  • AGI还会远么,它何时到来?
  • NodeJS第1天--介绍
  • 如何在10分钟内完成Honey Select 2完整汉化去码:终极一站式解决方案
  • 2026最新测评:10款真正能落地的写小说软件(含防坑指南)
  • Ryujinx模拟器终极指南:3步在PC上畅玩Switch独占大作
  • Adobe Illustrator脚本终极指南:70+专业工具解锁设计效率新维度
  • NBM5100A与STM32F732IE的低功耗物联网电源管理方案
  • MobaXterm密码安全解析:Python实战解密与安全风险防范
  • 明日方舟桌宠Ark-Pets:3分钟让你的游戏角色“活“在桌面上