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>