|
吾爱游客
发表于 2018-10-16 08:54
1.申请ID:Xionghz
2.个人邮箱:18663398391@163.com
3.技术文章:开发java Web框架
序言:如若通过,会在这边连载一篇关于‘如何开发一套‘JavaWeb’框架’的文章,包含源码。
-------------------Java Web框架之MVC(一)----------
简介:MVC(Model-View-Controller,数据模型-视图-控制器)是一种常见的设计模式,可以使用这个模式将应用程序解耦。
我们会将某类业务交给Controller来处理,负责调用Service的相关方法,并将返回值放入Request或Response中。
Service靠的是依赖注入的方式,让框架为我们创建对象。轻量级,灵活是我们的目标。
_GO_本人的开发环境为MAC系统,IDEA
## 搭建开发环境
### 创建框架项目
首先,创建一个名为sky的普通java项目,在pom.xml添加Maven三坐标:
<!-- Servlet -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>
<!-- JSP -->
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>jsp-api</artifactId>
<version>2.2</version>
<scope>provided</scope>
</dependency>
<!-- JSTL -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
<scope>runtime</scope>
</dependency>
在框架中会大量的使用日志输出,所以添加SLF4J的日志框架。可以同事引用SLF4J与Log4j两个依赖。因为Maven是有传递性的。
<!--SLF4J-->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.7.7</version>
</dependency>
我此处使用的是Mysql数据库,so,添加驱动程序依赖
<!--Mysql 驱动工具-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.33</version>
<scope>runtime</scope>
</dependency>
Controller的Action方法返回值可以返回JSON数据或者JSP,因此必要一个JSON序列化工具,
<!--Jackson 序列化工具-->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.8.9</version>
</dependency>
JDBC类库,用的是DbUtils
<!--Apache Commons DbUils JDBC类库-->
<dependency>
<groupId>commons-dbutils</groupId>
<artifactId>commons-dbutils</artifactId>
<version>1.6</version>
</dependency>
还有需要数据库连接池,选择DBCP性能较好,也是Apache Commons的项目
<!--Apache DBCP 数据库连接池-->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-dbcp2</artifactId>
<version>2.0.1</version>
</dependency>
最后就是常用的工具类,同样是Apache Commons的项目
<!--Apache Commons Lang 常用工具类-->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.4</version>
</dependency>
<!--Apache Commons Collections 常用工具类-->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-collections4</artifactId>
<version>4.0</version>
</dependency>
到此为止,Maven配置结束。
我希望它能满足我的日常工作需求,以后将会不断扩展这个框架。
###加载配置项
顾名思义,根据key读取对应的value值。我们需要读取的值包含:
* 数据库连接配置
* 项目的基础包名
* JSP的基础路径
* 静态文件的基础路径,比如CSS、图片等
我们需要项目中创建一个ConfigHelper的助手类,读取配置文件。
首先创建一个常量类,用来维护,封装配置项的名称。
package top.xionghz.framework;
/**
* 提供相关配置常量
*
* @author Xionghz
*/
public interface ConfigConstant {
String CONFIG_FILE="smart.properties";
String JDBC_DRIVER="smart.framework.jdbc.driver";
String JDBC_URL="smart.framework.jdbc.url";
String JDBC_USERNAME="smart.framework.jdbc.username";
String JDBC_PASSWORD="smart.framework.jdbc.password";
String JDBC_BASE_PACKAGE="smart.framework.jdbc.base_package";
String JDBC_JSP_PATH="smart.framework.jdbc.jsp_path";
String JDBC_ASSET_PATH="smart.framework.jdbc.asset_path";
}
--先到这吧,睡觉了
|
|
发帖前要善用【论坛搜索】功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。 |
|
|
|
|