Jkas 控制器专用方法

控制器专用方法

以下所有方法必须继承于org.jkas.core.C方能调用

 

1、系统

boolean init();//初始化方法 返回false不继续执行action

void ec ho(String str)

void echo(byte[] data)

void ec ho(Object obj)//以字符串输出对象

void ec ho(Object obj1,Object obj2,Object obj3,...,Object objn)//以字符串输出对象

void echo(int num)

void echojson(int code,String data)

void echojson(int code,String data,String msg)

void setStatus(int status)//设置HTTP响应状态码,状态码说明见附件HTTP状态码

void sendError(int status,String errors)//向用户发HTTP响应状态码及信息,状态码说明见附件HTTP状态码

String serverInfo()//获取容器名称及版本,如:Resin/4.0.51

String getApp() 返回控制器

String getAct() 返回请求方法

String webRoot() 网站根域名

String rootPath() 网站根目录

int getRequestCount() //当前请求数量

int getSessionCount() //当前访问用户数量

Object application(String key)//读取全局变量,应用级别,定时任务、过滤器、监听器也支持该方法

boolean application(String key,Object obj)//写全局变量,应用级别,定时任务、过滤器、监听器也支持该方法,obj为null时删除变量

boolean applicationdrop(String key)//删除全局变量

如:

echo("jkas");

echo(1);

 

2、用户请求/响应

HashMap<String,String> p()//取出所有提交参数

boolean Phas(String key)//是否存在参数

String P(String parametername)//根据参数名获取提交参数

String P(String parametername, String defautvalue )//根据参数名获取提交参数,如果参数不存在,则返回默认值

String Ptrim(String parametername)//去除前后空格

String Pescape(String parametername)//获取经过escape编码后的参数

String Phtml(String parametername)//获取经过HTML转义后的参数

String Punhtml(String parametername)//获取参数并去掉参数的HTML标签

String Plow(String parametername)//全部转为小写字母

String Pup(String parametername)//全部转为大写字母

int Pint(String parametername);//把参数自动转为整数返回

long Plong(String parametername);//把参数自动转为长整数返回

int Pfloat(String parametername);//把参数自动转为浮点数返回

int Pdouble(String parametername);//把参数自动转为双精度数返回

String Ptrim(String parametername, String defautvalue )//去除前后空格,如果能数不存在,则返回默认值

String Pescape(String parametername, String defautvalue )//获取经过escape编码后的参数,如果参数不存在,则返回默认值

String Phtml(String parametername, String defautvalue )//获取经过HTML转义后的参数,如果参数不存在,则返回默认值

String Punhtml(String parametername, String defautvalue )//获取参数并去掉参数的HTML标签,如果参数不存在,则返回默认值

String Psafehtml(String p)//去除不安全的html标签<script>、<img>等均去除

String Psafehtml(String p,String v)//去除不安全的html标签,如果参数不存在,则返回默认值

String Psafeimghtml(String p)//保留<img>标签,去除不安全的html标签<script>等均去除

String Psafeimghtml(String p,String v)//保留<img>标签,去除不安全的html标签<script>等均去除,如果参数不存在,则返回默认值

String Pcleanhtml(String p)//去除所有HTML标签

String Pcleanhtml(String p,String v)//去除所有HTML标签,如果参数不存在,则返回默认值

String Preplace(String p,String str,String newstr)//获取参数值并把str替换成newstr

String Preplace(String p,String str,String newstr,String v)//获取参数值并把str替换成newstr,如果参数不存在,则返回默认值

String Plow(String parametername, String defautvalue )//全部转为小写字母,如果参数不存在,则返回默认值

String Pup(String parametername, String defautvalue )//全部转为大写字母,如果参数不存在,则返回默认值

int Pint(String parametername, int defautvalue );//把参数自动转为整数返回,如果参数不存在,则返回默认值

long Plong(String parametername, long defautvalue );//把参数自动转为长整数返回,如果参数不存在,则返回默认值

int Pfloat(String parametername, float defautvalue );//把参数自动转为浮点数返回,如果参数不存在,则返回默认值

int Pdouble(String parametername, double defautvalue );//把参数自动转为双精度数返回,如果参数不存在,则返回默认值

String[] Parr(String parametername);//把参数用逗号分隔成字符数组

String[] Parr(String parametername,String c);//把参数用字符c分隔成字符数组

HashMap<String,String> P()//返回所有参数

ArrayList<HashMap<String,String>> FILES() //用户上传文件列表

HttpServletRequest getRequest() //获得request对象

HttpServletResponse getResponse() //获取reponse对象

long contentLength() 为请求总大小

boolean IS_POST() | boolean isPost()//是否POST请求

boolean IS_GET() | boolean isGet() //是否GET请求

boolean IS_PUT() | boolean isPut()//是否PUT请求

boolean IS_PATCH() | boolean isPatch()//是否PATCH请求

boolean IS_DELETE() | boolean isDelete()//是否DELETE请求

boolean IS_HTTPS() | boolean isHttps()//是否是https请求

String clientIp()//获取客户端IP

String clientIp(String headerName)//获取自定义转发的IP,headerName为自定义的IP转发请求头名称

String serverIp()//获取服务器IP

OutputStream getOutputStream()//获取输入流对象

InputStream getInputStream()//获取输入流对象

byte[] getInputByte()//返回输入流数据

ByteArrayOutputStream getInputByte()//返回输入流转ByteArray输出流

String getInputString()//输入流转字符串

String getRequestHost()//获取请求主机地址或域名

int getRequestPort()//获取请求主机端口

String getRequestScheme()//获取请求的协议

String getRequestUrl()//获取请求Url,带有域名,含参数

String getRequestUri()//获取请求文件路径,没有域名,含参数

String getRequestPath()//获取请求文件路径,没有域名,不含参数

String getQueryString()//获取请求参数部分

String header(String headerName)//获取来自客户端的请求头

HashMap<String,String> headers()//获取来自客户端的所有请求头

void header(String key,String value)//设置响应头

void header(HashMap<String,String> params)//批量设置响应头

String getContextParam(String key)//读取web.xml配置文件中<context-param>标签下的初始参数

HashMap<String,String> getContextParams()//读取web.xml配置文件中<context-param>标签下的所有初始参数

 

如:

String a=P("a");

HashMap<String,String> P();//返回所有用户请求参数

 

3、sess ion

1)、session 读取

HashMap<String,Object> sessions() 读取当前用户所有session数据

T sess(String key)//T为返回类型,返回类型必须是对象,不能是8种基本类型(切记),如果使用,要自行处理异常。

Object session(String key);//以对象形势获取session

String sess2str(String key);//以字符串形势获取session

int sess2int(String key);//以整数形式获取session

long sess2long(String key);//以长整数形式获取session

float sess2float(String key);//以浮点数形式获取session

double sess2double(String key)//以双精度数形式获取session

String sessionid()//读取session id

long sessionCreateTime()//读取session 创建时间

long sessionLastTime()//读取session最后访问时间

 

 

2)、session 写

void session(String key,Object value)

session删除把值设为null,如:session("a",null);

void sessdel(String key)//删除指定session

void sessdel();//清空session

 

3)、自定义session机制,用于自行扩展,如负载集群中的session共享,或监听session的变化等

必须在配置文件中设置好:

[SESSION]

;开启自定义

session_override=1

;指定自定义类,该类必须继承于JkasSession
session_class=test.z.session.MySession

 

配置完成后,编写该类,覆盖父类的方法完成自定义session机制,如:

package test.z.session;
import org.jkas.core.JkasSession;
public class MySession extends JkasSession
{  public MySession()
 {
 }

 public String getId()
 {return super.getId();
 }
}

 

可以覆盖的方法如下,可以只覆盖需要的部分方法,不一定要全部覆盖,可以通过super.方法名调用这些方法:

 

 public Object getAttribute(String name)
 {
 }

 public Enumeration<String> getAttributeNames()
 {

 }

 public long getCreationTime()
 {
 }

 public String getId()
 {
 }

 public long getLastAccessedTime()
 {
 }

 public int getMaxInactiveInterval()
 {
 }

 public ServletContext getServletContext()
 {
 }

 public void invalidate()
 {
 }

 public boolean isNew()
 {
 }

 public void removeAttribute(String name)
 {
 }

 public void setAttribute(String name,Object value)
 {
 }

 public void setMaxInactiveInterval(int interval)
 {
 }

 

4、coo kie

1)、cookie 读

HashMap<String,String> cookies()//读出所有cookie为HashMap格式

String cookie(String key)//读出指定键的cookie

 

2)、cookie 写

void cookie(String key,String value)//设置cookie 默认时间为30000秒;默认路径为“/”

void cookie(String key,String value,int expired)//默认路径为/

void cookie(String key,String value,int expired,String path)

cookie删除把值设置为null或把过期时间设置为0即可

void cookiedel(String key)//删除指定cookie

 

5、语 言获取

String L(String lankey)

 

6、u rl编码

String url(String url);

String url(String url,String params);

String url(String app,String act,HashMap<String,String>params)

String url(String module,String app,String act,HashMap<String,String>params)//开启模块方式后使用该方式

 

7、URL重定向

1)、服务端转发(url不变);

void forw ard(String url);

2)、客户端转发(url改变);

void redir ect(String url);

 

8、资源引入

String imports(String type,String res)//type为资源类型,值为:css,js,libcss,libjs,返回包括HTML标签

String url(String type,String res);//type为资源类型,值为:css,js,libcss,libjs,返回完整URL路径

String img(String res)//返回完整图片路径

当配置文件配置了相应资源的域名时,返回的路径将按指定的域名返回!