解读nutzbook
问题
为什么只能用jetty我想用tomcat,端口只能是8080,,我日
##模块类
每一个声明了入口函数的模块类都是一个子模块,可以在主模块上进行注册
##Ioc
Ioc目前的了解是将所需要的对象在合适的时候通过ioc获取,不许要去导入很多的包
##URL路径
- 注解有继承关系,@At在类上声明会继承给子方法
web.xml配置
<filter>
<filter-name>nutz</filter-name>
<filter-class>org.nutz.mvc.NutFilter</filter-class>
<init-param>
<param-name>modules</param-name>
<param-value>com.mine.app.MainModule</param-value>
</init-param>
<init-param>
<param-name>exclusions</param-name>
<!-- *.XXX 忽略后缀 -->
<!-- /XX/* 忽略前缀 -->
<!-- /cc 忽略固定路径 -->
<!-- 下面的例子忽略了html和ftl后缀, 忽略了/rs/和/druid/前缀,和忽略了固定路径/abc/notaction -->
<param-value>*.html,*.ftl,/rs/*,/druid/*,/abc/notaction</param-value>
</init-param>
</filter>
web.xml的welcome页面不仅可以通过声明welcome里面的html页面,也可以通过入口函数来标注,比如@At(“/index”),
- filter-name声明了过滤器的名称
- class待定
- param说明了filter回去哪个module
- param-value具体的适配模式
数据库建设
Setup
Dao dao = ioc.get(Dao.class);
Daos.createTablesInPackage(dao, "net.wendal.nutzbook", false);
声明了数据库从哪里去获取POJO,在主模块上标注setup(在主模块上标注的主要作用)
POJO
- 一个普通的javabean,有一个简单的运算属性也是可以的,但不允许有业务方法,也不能携带有connection之类的方法
- @Table声明成为一个数据库信息,@View的作用不是很清楚
UserModule
- @Inject注入
- @Filter路径过滤,可以重写,可以继承
- 视图
- 这个注解很有意思@Filters(@By(type=CheckSession.class, args={“me”, “/“})) // 检查当前Session是否带me这个属性