从零开始写javaweb框架笔记
修炼中的菜鸟
这个作者很懒,什么都没留下…
展开
-
从零开始写javaweb框架笔记2-搭建web项目框架
在前面我们已经创建了一个maven项目,但是pox.xml中还没有任何的maven依赖,随后会添加一些java web所需的依赖。在添加java web的依赖之前,我们需要把maven项目转换为java web项目结构。1. 把maven项目转换为java web项目结构非常的简单,按如下的步骤操作即可:1)在main目录下,添加webapp目录。2)在webapp目录下,添加W原创 2015-11-29 16:21:56 · 3297 阅读 · 0 评论 -
从零开始写javaweb框架笔记16-搭建轻量级JAVAWEB框架-加载Controller,初始化框架
1,加载Controller 我们需要创建 一个ControllerHelper类,让它来处理下面的逻辑: 通过ClassHelper我们可以获取所有定义了Controller注解的类,可以通过反射获取该类中所有带有Action注解的方法,获取Action注解中的请求表达式,进而获取请求方法与请求路径,封装一个请求对象(Request)和处理对象(Handler),最后将原创 2017-05-24 17:17:38 · 1053 阅读 · 0 评论 -
从零开始写javaweb框架笔记11-搭建轻量级JAVAWEB框架-搭建开发环境
搭建开发环境 从这里开始,后面学习的内容的代码会上传github。进行git开发,需要有一个github的账号,然后根据用户的系统下载git的客户端安装好,然后进行IDEA配置git。 一 创建框架项目 创建一个smart-framework的maven项目,它是一个普通的maven项目,创建过程可以参考之前的创建mavne项目的流程。在原创 2017-05-22 14:36:54 · 1154 阅读 · 2 评论 -
从零开始写javaweb框架笔记12-搭建轻量级JAVAWEB框架-定义框架配置项,加载配置项
在chapter3项目的src/main/resources目录下创建一个名为smart.propertiesd的文件,文件的内容如下:原创 2017-05-22 16:40:15 · 923 阅读 · 0 评论 -
从零开始写javaweb框架笔记13-搭建轻量级JAVAWEB框架-开发一个类加载器
我们需要开发一个类加载器,来加载该基础包名下的所有类,比如使用了某注解的类,或实现了某接口的类,在或者继承了某父类的所有子类。 下一个ClassUtil工具类作为类加载器,提供与类相关的方法,比如获取类加载器,加载类,获取指定包下的所有类。ClassUtil的代码如下:package org.smart4j.framework.org.smart4j.framework.uti原创 2017-05-22 18:59:01 · 634 阅读 · 0 评论 -
从零开始写javaweb框架笔记17-搭建轻量级JAVAWEB框架-请求转发
前面的过程都是为这里做准备原创 2017-06-27 15:13:12 · 817 阅读 · 0 评论 -
从零开始写javaweb框架笔记18-使框架具备AOP特性-代理技术简介
代理,或者称为Proxy。意思就是你不需要去做,别人代替你去处理。它在程序开发中起到了非常重要的作用,比如传说中的AOP,就是针对代理的一种应用。此外,在设计模式中,还有一个代理模式。在公司里要上外网,要在浏览器设置一个HTTP代理,可见代理无处不在。 学习由浅到深,先看一个简单的HelloWorld:原创 2017-06-27 17:13:56 · 770 阅读 · 0 评论 -
从零开始写javaweb框架笔记19-使框架具备AOP特性-AOP技术简介
AOP是面向切面编程。切面是AOP中的一个术语,表示从业务逻辑中分离出来的横切逻辑,比如性能监控,日志记录,权限控制等,这些供暖都可以从核心的业务逻辑代码中抽离出去。也就是说通过AOP可以解决代码耦合的问题,让职责更加单一。其实很早以前就出现了AOP这个概念。最知名最强大的java开源项目就是AspectJ,它的前身是AspectWerkz。直到后来老罗 Rod Johnson写了Spring框架原创 2017-06-27 19:02:17 · 578 阅读 · 0 评论 -
从零开始写javaweb框架笔记21-使框架具备AOP特性-ThreadLocal简介
一:什么是ThreadLocal ThreadLocal直译为“线程本地”,或者“本地线程”,但是其实它是一个容器,不是什么线程,这个容器用于存放线程的局部变量,应该叫ThreadLoadVariable(线程局部变量)才对。 早在JDK1.2的时代,java.lang.ThreadLocal就诞生了,它是为了解决多线程并发问题而设计的,只不过设计得有些难用,所以至今没原创 2017-07-17 18:15:36 · 553 阅读 · 0 评论 -
从零开始写javaweb框架笔记22-使框架具备AOP特性-事务管理简介
一:什么是事务原创 2017-07-18 14:55:28 · 471 阅读 · 0 评论 -
从零开始写javaweb框架笔记15-搭建轻量级JAVAWEB框架-实现依赖注入功能
我们在Controller中定义了Service成员变量,然后在Controller的Action方法中调用Service成员变量的方法,那么如果实现Service的成员变量? 之前定义了@Inject注解,就用它来实现Service是例话,那么谁来实例化呢。 不是开发者通过new的方式来实例化,而是通过框架自身来实例化,像这类实例化过程称为IOC(控制反转),控制不是原创 2017-05-24 15:47:32 · 978 阅读 · 0 评论 -
从零开始写javaweb框架笔记14-搭建轻量级JAVAWEB框架-实现Bean容器
实现Bean容器 使用ClassHelper可以获取所加载的类,但无法通过类来实例化对象,因此我们需要提供一个反射工具类,让它封装java反射相关的API,对外提供更好用的工具方法。将该类命名为ReflectionUtil,代码如下:原创 2017-05-24 15:11:52 · 825 阅读 · 0 评论 -
从零开始写javaweb框架笔记3-编写一个简单的web应用
现在我们开始编写一个简单的web应用。从简单的开始:写一个HelloServlet,接收GET类型的/hello请求,转发到/WEB-INF/jsp/hello.jsp页面,然后再hello.jsp页面显示系统当前时间。1,首先在java目录下创建一个包名(技巧:鼠标选中java目录,按下alt+insert快捷键,选择package选项,输入具体的包名,回车即可创建包,用同样的方法也可以创建原创 2015-11-29 16:45:12 · 3680 阅读 · 0 评论 -
从零开始写javaweb框架笔记4-在IDEA中配置Tomcat
要让前面的小项目跑起来,我们需要在IDEA中配置一个Tomcat,详细步骤如下:1)点击IDEA的工具栏上的Edit Configurations()弹出Run/Debug Configurations对话框。2)单击左上角的“+”按钮(或使用alt+insert快捷键),选择tomcat server-》local选项。3)输入Tomcat的Name(例如原创 2015-11-29 17:20:33 · 1558 阅读 · 0 评论 -
从零开始写javaweb框架笔记6-需求分析与系统设计
现在开始一个客户管理功能的web应用项目的开发。1 需求分析,以下是需求描述:1)当用户进入客户管理模块时,可通过列表方式来查看所有客户。2)可通过客户名称关键字进行模糊查询。3)单击客户列表中的客户名称链接,可查看客户基本信息。4)单击新增按钮,进入新增客户界面,可新增客户基本信息。5)单击客户列表中的编辑按钮,进入编辑客户界面,可更新客户基本信息。6)单击客户列表中原创 2015-11-29 20:56:23 · 2921 阅读 · 0 评论 -
从零开始写javaweb框架笔记7-动手开发web应用
开发阶段,我们先搭建框架,然后慢慢的细化,完善功能。1 创建数据库项目的数据库,我使用mysql,下载安装好mysql数据库,下载安装好mysql的数据库管理界面工具Navicat Premium,项目的所有编码我们使用utf-8。打开mysql的界面管理工具Navicat Premium,1)点击连接2)输入我们的项目的连接名mysql3)输入主机名或者ip地址原创 2015-12-05 23:12:03 · 2975 阅读 · 0 评论 -
从零开始写javaweb框架笔记9-细节完善与代码优化-完善控制器层
在前面的笔记中完善了服务层的代码,在这里我们将进行控制器层代码的完善。以CustomerServlet为例,目前的代码框架是这样的:原创 2016-01-10 10:46:58 · 1036 阅读 · 0 评论 -
从零开始写javaweb框架笔记9-细节完善与代码优化-完善控制器层
在这一小节中,我们开始写jsp页面 打开/WEB-INF/view/customer.jsp文件,完成如下代码:<%-- Created by IntelliJ IDEA. User: jack Date: 2015/12/5 Time: 23:02 To change this template use File | Settings | File Templates原创 2016-01-10 13:15:09 · 1407 阅读 · 2 评论 -
从零开始写javaweb框架笔记10-搭建轻量级JAVAWEB框架-确定目标
从此开始搭建一个轻量级的java WEB框架,在开始之前,前面需要确定一个目标,我们的目标是打造一个轻量级的MVC框架,而Controller是MVC的核心,其实我们想要的是这样的Controller代码:/** * 处理客户管理相关请求 */@Controllerpublic class CustomerController { @Inject private Cus原创 2016-01-10 13:28:53 · 2346 阅读 · 0 评论 -
从零开始写javaweb框架笔记8-细节完善与代码优化
在前面我们搭建了一个客户管理模块的代码框架,在代码中有很大的to do something或者to do,这些就是要逐渐完善的细节,我们将分别完善服务层,控制层,视图层,并且对代码进行优化。1 完善服务层 添加SLF4J用于提供日志API,使用Log4J作为实现,配置如下: org.slf4j slf4j-log4j原创 2015-12-27 14:03:45 · 3395 阅读 · 5 评论 -
从零开始写javaweb框架笔记23-使框架具备AOP特性-实现事务控制特性
之前实现过一个Service注解,用于定义服务类,而在服务类种会包括若干方法,有些方法具备事务性,比如创建,修改,删除。如果来保证这类方法具有事务性呢?我们可以利用这个Proxy框架来实现一个简单的事务控制特性。值需要开发者使用Transaction注解,将其定义在需要事务控制的方法上即可。一:定义事务注解原创 2017-07-18 16:30:20 · 625 阅读 · 3 评论