ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

JKAS开发框架技术文档1:入门

2022-04-12 10:02:48  阅读:189  来源: 互联网

标签:do www http 入门 数据源 jkas JKAS 文档 org


一、环境要求
java jdk 1.8

tomcat 8/resin >4.0

mysql > 5.0

 

二、Jkas 包结构
内核包名:org.jkas.core

工具包名:org.jkas.utils

插件包名:org.jkas.plugin

视图包名:org.jkas.view;

 

三、目录结构
data/

certs/ 密钥目录

jkas.license 框架密钥(开放后已经去除)

config.ini 全局配置文件

crontab 定时任务列表文件

alias URL别名配置文件

 

temp/ 临时目录

logs/logyyyymm.log 框架日志文件

logs/jkas_cron_yyyy-mm.log 框架定时任务日志文件

 

WEB-INF/

lib 框架库文件目录

classes/beetl.properties 视图格式化配置

classes/fastjson.properties Fastjson配置文件

classes/redis.properties Redis参数配置文件

classes/memcache.properties Memcache参数配置文件

web.xml 站点配置文件

 

locale/ 语言文件目录

 

static/ CSS/JS资源目录

 

themes/ 视图主题目录

 

四、如何开始
1、导入类库

1.1、方式一:自己手动导入:

自己把Jkas内核及依赖类库下载并复制到WEB-INF目录和你项目的依赖类目录即可(一般为libs目录)

1.2、方式二:开发工具自动导入

Jkas已经提交到Maven Central及阿里云Maven仓库,用不同开发构建工具引用方式如下:

maven:

<dependency>
<groupId>cn.org.jkas</groupId>
<artifactId>jkas</artifactId>
<version>2.33</version>
</dependency>

gradle:

implementation 'cn.org.jkas:jkas:2.33'

 

Gradle Kotlin DSL:

implementation("cn.org.jkas:jkas:2.33")

 

2、配置设置

2.1、框架配置文件指定控制器类的入口包:


#控制器映射包路径

app_package=test.z.app

#默认后缀
url_endwith=.do

 

2.2、容器web.xml配置(一般不用配置,直接复制过去即可)

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">

<display-name>JKAS</display-name>
<description>jkas web kernel</description>

<servlet>
<servlet-name>routerServlet</servlet-name>
<servlet-class>org.jkas.Router</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>routerServlet</servlet-name>
<url-pattern>*.htm</url-pattern>
</servlet-mapping>

<servlet-mapping>
<servlet-name>routerServlet</servlet-name>
<url-pattern>/jkas.js</url-pattern>
</servlet-mapping>

<servlet-mapping>
<servlet-name>routerServlet</servlet-name>
<url-pattern>*.jl</url-pattern>
</servlet-mapping>

<welcome-file-list>
<welcome-file>index.htm</welcome-file>
</welcome-file-list>

<session-config>
<session-timeout>30</session-timeout>
</session-config>

<resource-ref>
<res-ref-name>dbconfig</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>

</web-app>

 

2.3、数据库链接池配置,分为容器数据库链接池和框架链接池两种方式(用到数据库时才配置)

不管用哪一种方式,记得把框架配置文件里数据库相关配置与容器里的数据源名称要保持一致

2.3.1、框架数据库相关配置:

[DATABASE]

#数据源类型,0为默认容器数据源,1为使用框架配置数据源,框架数据配置文件路径为data/ds/数据源文件名

ds_type=0

#数据库表前缀
table_prefix=jkas_
data_source=dbconfig //必须与resin或tomcat配置的数据源保持一致,如果用框架数据源,必须与框架数据源文件名一致

#是否开启数据库集群

db_cluster=1

#集群用来写的数据源设置,多个用逗号隔开,必须与resin或tomcat配置的数据源保持一致,如果用框架数据源,必须与框架数据源文件名一致
data_source_write=dbconfigw

#集群用来读的数据源设置,多个用逗号隔开,必须与resin或tomcat配置的数据源保持一致,如果用框架数据源,必须与框架数据源文件名一致
data_source_read=dbconfigr1,dbconfigr2

#数据库类型mysql sqlite oracle mssql 暂时只支持mysql和sqlite,非Mysql和sqlite数据库需要自行写完整的sql
db_type=mysql

#开启自定义SQL语句功能

db_custom_sql=1

#配置自定义SQL文件所在目录,SQL自定义文件与模型指定的表名同名,以.m为后缀
db_custom_sql_dir=data/sql

 

2.3.2、方式一:容器数据库链接池,分resin和tomcat两种,其他容器可自行找教程

resin:

<character-encoding>UTF-8</character-encoding>
<database>
<jndi-name>dbconfig</jndi-name><!--必须与上面系统配置文件数据源配置保持一致-->
<driver type="com.mysql.jdbc.Driver">
<url>jdbc:mysql://localhost:3306/dbname</url>
<user>root</user>
<password>123456</password>
</driver>
</database>

 

tomcat:

在context.xml里面配置数据库连接池

<Resource
name="dbconfig" <!--必须与上面系统配置文件数据源配置保持一致-->
type="javax.sql.DataSource"
driverClassName="com.mysql.jdbc.Driver"
maxIdle="2"
maxWait="5000"
username="jkasdev_u"
password="123456"
url="jdbc:mysql://localhost:3306/dbname"
maxActive="4"/>

如果用tomcat数据库链接池,记得在项目web.xml里增加相应的引用,数据源名称也要保持一致,如下:

<resource-ref>
<res-ref-name>dbconfig</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>

2.3.3、方式二:框架数据库链接池

数据源连接文件在系统/data/ds/xxx,xxx为数据源名称,命名要与框架配置文件里数据库设置部分数据源名称保持一致,如:/data/ds/datasource

driverClassName=com.mysql.jdbc.Driver
url=jdbc:mysql://127.0.0.1:3306/sc_test?characterEncoding=utf8&useSSL=true&useOldAliasMetadataBehavior=true
username=root
password=123456
# 初始化连接数量
initialSize=5
# 最大连接数
maxActive=10
# 延迟时间
maxWait=3000

 

3、控制器继承于org.jkas.core.C 类

 

import org.jkas.core.C;

public class Index extends C

{

public void index()

{

echo("Hello Jkas !");

}

}

 

4、模型继承于org.jkas.core.M类,类的命名以M结尾


import org.jkas.core.M;

public class UserM extends M

{ public UserM()

{ primaryKey("user_id");

}

}

5、服务继承于org.jkas.core.S类

import org.jkas.core.S;

public class UserService extends S

{ public UserService()

{

}

}

 

6、访问方式

模块名在开启模块功能时有效!

域名[/模块名]/控制器名[/方法名/参数名/参数值/参数名/参数值/.../.../].后缀 //[]方括号里面的内容为可有可无,方法名没有默认为index

如:

http://www.jkas.org/test.do

http://www.jkas.org/test/about.do

http://www.jkas.org/test/about/name/jkas/age/1.do

 

特殊情况:

方法名为数字开头:方法默认成index,自动把参数名变为id

如:http://www.jkas.org/goods/22.do 则自动访问 http://www.jkas.org/goods/index/id/22.do

 

参数个数为奇数情况:自动把第一个参数名变为id

如:http://www.jkas.org/goods/detail/22.do 则自动访问 http://www.jkas.org/goods/detail/id/22.do

http://www.jkas.org/goods/detail/22/k.do 则自动访问 http://www.jkas.org/goods/detail/22/k.do 偶数个数不处理

http://www.jkas.org/goods/detail/22/k/v.do 则自动访问 http://www.jkas.org/goods/detail/id/22/k/v.do

标签:do,www,http,入门,数据源,jkas,JKAS,文档,org
来源: https://www.cnblogs.com/jkas/p/16133718.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有