摘要:
在报名系统中,登录的有两类用户,后台管理员和报名参与者,而他们都有些操作必须登录才能执行,传统的Java Web应用中使用过滤器对指定的路径进行过滤。 管理员登录拦截器 下面拦截管理员,定义登录过滤器 : web.xml中使用过滤器: 发现问题,重构 现在定义 过滤,拦截活动参与者需要登录才能执行的 阅读全文
摘要:
在WEB的三层架构的业务逻辑层中,每个业务逻辑方法,要么执行成功,提交事务;要么执行失败,回滚事务。 下面用代理的方式实现事务的控制: 封装了两个工具类 , , 前者用于当前线程的数据库连接的获取和关闭,后者控制当前线程数据库连接事务的处理。 首先,新建动态代理类 类,并使用cglib实现动态代理: 阅读全文
摘要:
在web应用中常见的3层架构:控制层(Controller)、业务逻辑(Service)、数据持久层(DAO),控制层调用业务逻辑层,业务逻辑层调用数据层。 这样: ) 解耦,变成这样: 首先新建DAO工厂类 , 用于创建DAO对象: 然后在业务逻辑层实现类中,注入Dao对象,如下: 遵循开闭原则, 阅读全文
摘要:
为什么要用枚举 在博客系统中,一篇文章有且可能有这几种状态, 数据库中 文章表中 字段存储数值,表示其状态: 0(已发表Published) 1(草稿Draft) 2(撤回撤回(Delete) 文章实体类中用整数类型的state实例变量标识状态: 层调用 层修改文章状态为‘已发表’: / dao接口 阅读全文
摘要:
使用Spring MVC开发的博客网站时,遇到了如何处理业务层抛出的异常的问题,查阅到了spring官方博客 "spring MVC中异常的处理" ,以下将会以登录模块为示例。 愚蠢的处理方式 处理异常遵循 “早抛出,晚捕获" 的原则,在 中统一处理异常,调用业务逻辑 时使用 包围。 然而这样需要每 阅读全文
摘要:
简介 Sublime Text 3是一个神奇的文本编辑器,适合程序员、作家。它有很多亮点功能,比如多选择、Go Anything、命令面板。多选择可以让你同时编辑多出代码,Got Anything 像它名字一样你可以快速跳转都某个文件的某行、某个文件的某个符号(变量、方法等)。而且它跨平台、启动速度 阅读全文
摘要:
简介 它号称“21世纪可黑客的文本编辑器”。GitHub支持并开源,并支持跨平台。和brackets编辑器一样基于浏览器开发,意味着你可以使用less(包含css)来定制编辑器界面,coffeescript(与js类似)编写插件定制功能。有很多和sublimne类似的地方,比如:命令面板,还有许多快 阅读全文
摘要:
简介 "快速编写HTML代码" 语法简单,语法类似css选择器,30分钟内你就可以搞定它。开发商为sublime、atom、brackets、hbuilder、webstrom等编辑器或IDE提供对应的插件,你可以在你喜欢的编辑器中使用它。它还支持对 "css快速" 编辑功能。 "Emmet官网" 阅读全文
摘要:
Brackets编辑器介绍 "一个现代的,开源的,了解网页设计的编辑器"这是官方的宣传语。也就是说它适用于网页开发,包含了许多亮点功能:实时预览(Live Preview)、内联编辑(Inline Edit)、多行编辑(Multiple Selections)、快速文档(Quick Document 阅读全文
摘要:
简介 做为一种标记语言,广泛应用在写作领域,markdown语法编写的文本,经过特殊的软件进行展示: 1. 目的:相对html,markdown提高文本的可读可写性 2. 兼容:兼容html 3. 自动转换特殊字符: 中文手册: 编辑器: "CmdMarkdown" "马克飞象" "typora" 阅读全文