本架构基于java语言进行开发,所以得先保证操作系统有安装以及配置JDK1.5以上版本的编译以及运行环境。
http://www.oracle.com/technetwork/java/javase/downloads/index.html
以上链接为oracle官方的下载地址,请根据项目需要选择下载并安装。
如果操作系统已经安装了java环境,那么请再准备好java开发工具,个人推荐eclipse
https://www.eclipse.org/downloads/eclipse-packages/
以上链接为eclipse的下载地址,请根据项目需要选择下载并安装
到此步骤必须保证java编译、运行、开发环境全部准备完毕,然后打开
请根据项目需要选择下载相关架构组件,至少下载核心组件与集成配置工具
打开开发工具,新建一个javaWeb工程test,把jtry-framework-1.X.X.jar引入工程,如果有下载其他组件请一并引入。
继续在工程中创建包
com.test.init
com.test.controller
com.test.service
com.test.dao
把配置文件夹configs放置在系统环境变量user.home目录下。
Windows系统如C:\Users\用户名\
Linux 系统如/home/用户名/
打开集成配置工具,点击 框架配置-系统配置-默认配置 查看相应信息是否需要修改
然后打开 框架配置-数据源配置 添加一条可用的数据库连接信息
再打开 框架配置-对象初始化配置 添加如下信息
新建一个类如com.test.init.WebConfig
继承org.jtry.framework.net.http.entity.DefaultControllerConfig
重写getControllersPackages方法
返回放置Controller的包路径字符串,如”com.test.controller”
@Override
public String[] getControllersPackages() {
return new String[] { "com.test.controller" };
}
打开项目web.xml文件,新配置一个servlet如下
<servlet>
<servlet-name>CentralController</servlet-name>
<servlet-class>
org.jtry.framework.net.http.CentralController
</servlet-class>
<init-param>
<param-name>controllerConfigClass</param-name>
<param-value>com.test.init.WebConfig</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>CentralController</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
新建一个接口如com.test.dao.UserDao
创建以下方法
public Map<?, ?> getUserInfo(String name) throws SQLException;
public boolean upUserInfo(String name, String newName) throws SQLException;
public boolean delUserInfo(String name) throws SQLException;
public boolean addUserInfo(String name,String sex) throws SQLException;
新建一个类如com.test.dao.impl.UserDaoImpl
继承org.jtry.framework.database.dao.CommonDao
继承com.test.dao.UserDao接口
实现方法如下
@Override
public Map<?, ?> getUserInfo(String name) throws SQLException {
select("*");
from("user_info");
and("name = ?", name);
return getMap(sql(), parameters());
}
@Override
public boolean upUserInfo(String name, String newName) throws SQLException {
update("user_info");
set("name = ?", newName);
and("name = ?", name);
return executeUpdate(sql(), parameters()) > 0;
}
@Override
public boolean delUserInfo(String name) throws SQLException {
delete("user_info");
and("name = ?", name);
return executeUpdate(sql(), parameters()) > 0;
}
@Override
public boolean addUserInfo(String name, String sex) throws SQLException {
insert("user_info");
values("name", name);
values("sex", sex);
return executeUpdate(sql(), parameters()) > 0;
}
新建一个接口如com.test.service.UserService
创建以下方法
boolean login(String name) throws SQLException;
boolean register(String name, String sex) throws SQLException;
boolean logoff(String name) throws SQLException;
boolean changeName(String name, String newName) throws SQLException;
新建一个类如com.test.service.impl.UserServiceImpl
继承com.test.service.UserService接口
创建一个dao属性如下
public class UserSetviceImpl implements UserService {
UserDao userDao;
实现方法如下
@Override
public boolean login(String name) throws SQLException {
return userDao.getUserInfo(name) != null;
}
@Override
public boolean register(String name, String sex) throws SQLException {
boolean isRegister = true;
if (!login(name)) {
isRegister = userDao.addUserInfo(name, sex);
}
return isRegister;
}
@Override
public boolean logoff(String name) throws SQLException {
boolean isLogoff = false;
if (login(name)) {
isLogoff = userDao.delUserInfo(name);
}
return isLogoff;
}
@Override
public boolean changeName(String name, String newName) throws SQLException {
boolean isChangeName = false;
if (login(name)) {
isChangeName = userDao.upUserInfo(name, newName);
}
return isChangeName;
}
新建一个类如com.test.controller.Passport
如下
public class Passport {
UserService userService;
public String index() {
return "/login.html";
}
@Ajax
public AccessResult<Boolean> login(@Mark("name") String name) {
try {
return AccessResult.initSuccess(
userService.login(name));
} catch (SQLException e) {
return AccessResult.initFailure(
e.getMessage());
}
}
@Ajax
public AccessResult<Boolean> reg(@Mark("name") String name, @Mark("sex") String sex) {
try {
return AccessResult.initSuccess(
userService.register(name, sex));
} catch (SQLException e) {
return AccessResult.initFailure(
e.getMessage());
}
}
@Ajax
public AccessResult<Boolean> logoff(@Mark("name") String name) {
try {
return AccessResult.initSuccess(
userService.logoff(name));
} catch (SQLException e) {
return AccessResult.initFailure(
e.getMessage());
}
}
}
把工程发布到本地servlet服务器并启动,监听端口为8080
访问Controller地址为http://localhost:8080/test/passport/login?name=text
如果一切正常返回结果应为一个json
/test代表项目名
/passport代表类名
/login代表方法名
其他方法调用形式类似
如http://localhost:8080/test/passport/logoff?name=text
http://localhost:8080/test/passport/reg?name=text&sex=0
到此已经完成了简单的项目编写,如果需要了解各个组件详细使用方式,请查看文档
谢谢^_^