1.       快速上手

1.1.   下载JDK

本架构基于java语言进行开发,所以得先保证操作系统有安装以及配置JDK1.5以上版本的编译以及运行环境。

http://www.oracle.com/technetwork/java/javase/downloads/index.html

以上链接为oracle官方的下载地址,请根据项目需要选择下载并安装。

1.2.   下载JAVA IDE

如果操作系统已经安装了java环境,那么请再准备好java开发工具,个人推荐eclipse

https://www.eclipse.org/downloads/eclipse-packages/

以上链接为eclipse的下载地址,请根据项目需要选择下载并安装

1.3.   下载JTRY

到此步骤必须保证java编译、运行、开发环境全部准备完毕,然后打开

http://jtry.org/download.html

请根据项目需要选择下载相关架构组件,至少下载核心组件与集成配置工具

1.4.   引入JTRY

打开开发工具,新建一个javaWeb工程test,把jtry-framework-1.X.X.jar引入工程,如果有下载其他组件请一并引入。

继续在工程中创建包

com.test.init

com.test.controller

com.test.service

com.test.dao

1.5.   修改框架配置

把配置文件夹configs放置在系统环境变量user.home目录下。

Windows系统如C:\Users\用户名\

Linux 系统如/home/用户名/

打开集成配置工具,点击 框架配置-系统配置-默认配置 查看相应信息是否需要修改

然后打开 框架配置-数据源配置 添加一条可用的数据库连接信息

再打开 框架配置-对象初始化配置 添加如下信息

1.6.   配置web.xml文件

新建一个类如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>

 

1.7.   创建Dao

新建一个接口如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;

    }

1.8.   创建Service

新建一个接口如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;

    }

1.9.   创建Controller

新建一个类如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());

       }

    }

}

1.10.   调用结果

把工程发布到本地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

 

到此已经完成了简单的项目编写,如果需要了解各个组件详细使用方式,请查看文档

谢谢^_^