struts2-2.2.1+sitemesh-2.4.1
struts2版本使用2.2.1sitemesh为2.4.1
struts2的filter在web.xml配置需要把StrutsPrepareAndExecuteFilter分开
sitemesh的filter放到StrutsPrepareFilter之后
struts2默认:
struts2 org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter struts2 /*
加入sitemesh后:
6800ROM wm6.5 21916
此rom为NORUIM版,核心为DFT无新特性的21916,支持大内存方式,雅黑宋体切换,
6.5UI和6.1UI切换 (wm6.1 相关文件来自21057核心)
EVDO和6.5 6.1 UI切换说明:
1.为EVDO成功的手机增加自动切换功能,要先在运行 附件|工具|EVDOchange 启用这个功能.
2.此版继续支持6.5UI与6.1UI切换,切换后请选择重新启动,然后再手动更换一次主题,
并手动设置墙纸。
3.附件|工具|EVDOchange 说明:
a.启用关机前设置ONLY EVDO:就是在启动关机软件时会自动切换到ev only然后出现关机界面
b.启用EVDO设置后启动关机软件:出现独立的快捷方式EVDOSD.lnk,
将自动切换到ev only然后调出关机界面
c.启用EVDO和混合设置切换:出现独立的快捷方式EVDOTOH,运行后将在ev only和混合之间切换。
rom软件:基本都是工具类的软件。常用的软件采用扩展包的方式导入,下面截图有
rom截图:
6800 运行模式自动切换
自动切换ev only 和混合模式的脚本,使用MortScript编写。
EVDO ONLY模式下无法接收短信和电话,所以正常使用3G需要混合模式,
但是切换为混合重启将导致EVDO无法通过验证,
此程序在调用关机软件前将运行模式改为EVDO ONLY.
仅适用可以通过EVDO验证而可以上3G的手机
文件说明:
ev2hy.mscr 手动运行模式切换脚本, evdo2hy是其对应快捷方式
ev2hysd.mscr 自动启动关机的切换脚本 evdoshutdown是其对应的快捷方式。
start2hybird.mscr 启动后自切换为混合。
使用说明:
1.先将注册表[HKEY_LOCAL_MACHINE\Software\OEM\PhoneSetting]
此 EVDOModeMsg"="Warning: All incoming and outgoing 1X services are
disabled in EV-DO only mode. 删掉
2.除了evdo2hy和evdoshutdow这两个快捷方式,其余全部复制到windows目录下。
我的rom已经自带了MortScript。
注意:
因为启动系统初始化时间较长,启动切换可能会出问题。
所以ev2hysd.mscr里倒数第二行注释掉了这个功能。
去掉# 即可启用(可根据自己的情况适当增加start2hybird.mscr里的Sleep(10000)数值。)
调用关机程序为我的rom已经集成的,可以参照ev2hysd.mscr里面的修改(RUN命令)
获取腾讯微博数据 php java
此方法采用官方api(..)获取jsno数据,有了json用javascript解析就可以了
java Servlet在Google App Engine 运行正常 点此测试
展开/关闭 "java代码窗口"public class MyqtappServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
public void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException {
// si
String sign = "968a99...";
// ID
String name = "r...";
// 获取微博信息
int tweetflag = 1;
// 获取听众信息
int fansflag = 1;
// 听众数量
String fansnum = (req.getParameter("fm") != null) ? req.getParameter("fm") : "0";
// 不为1返回js
String isjson = req.getParameter("json");
//
if ("0".equals(fansnum)) {
fansflag = 0;
}
String qqurl = "http://v.t.qq.com/cgi-bin/weiboshow?";
// referer
String referer = "http://v.t.qq.com/";
String geturl = qqurl + "tweetflag=" + tweetflag + "&fansflag=" + fansflag + "&fansnum=" + fansnum + "&name=" + name + "&sign=" + sign + "&jsonp=";
try {
URL url = new URL(geturl);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setDoOutput(true);
connection.setRequestMethod("GET");
// 不设置 Referer 无法获取数据
connection.setRequestProperty("Referer", referer);
connection.connect();
if (connection.getResponseCode() == HttpURLConnection.HTTP_OK) {
BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream(), "utf-8"));
String line;
StringBuffer lingres = new StringBuffer();
if (!"1".equals(isjson)) {
lingres.append("var qq=");
}
while ((line = reader.readLine()) != null) {
lingres.append(line);
}
reader.close();
resp.setContentType("application/javascript; charset=utf-8");
resp.getWriter().println(lingres);
} else {
resp.getWriter().println("Error");
}
} catch (MalformedURLException e) {
//
} catch (IOException e) {
//
}
}
}
php如下,我的博客就在使用,侧边栏右下 原理和php参照这里
展开/关闭 "php代码窗口"//qqt
if($_GET['type'] =='qq'){
$sign = ""; //si
$name=""; //ID
$tweetflag=1; //获取微博信息
$fansflag=1; //获取听众信息
$fansnum=$_GET['fm'] ; //听众数量
$fansnum=($fansflag==1)?($fansnum<=20?$fansnum:20):0;
$qqurl='http://v.t.qq.com/cgi-bin/weiboshow?';
$referer='http://v.t.qq.com/'; //referer
$e = 'qq/qqt.js';//缓存目录
$cahetime = 1800; //缓存间隔
if ( !is_file($e) || (time() - filemtime($e)) > $cahetime) {
$url= $qqurl."tweetflag=".$tweetflag."&fansflag=".$fansflag."&fansnum=".$fansnum."&name=".$name."&sign=".$sign."&jsonp=";
$r=($_GET['jsonp'] =='1')?("var qq=".(vcurl2($url,$referer))):(vcurl2($url,$referer));
//if (!copy($r, $e))
// {
$fp = fopen($e, 'w');fwrite($fp, $r);fclose($fp);
// }
}else{
$r=file_get_contents($e);
}
header("Content-type:application/javascript");
echo $r;
die();
}else{
$error="hello ".$_GET['type']." byebye ------bluels";
echo $error;
}
function vcurl2($url, $referer){
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
curl_setopt($curl, CURLOPT_REFERER, $referer);
curl_setopt($curl, CURLOPT_TIMEOUT, 100);
curl_setopt($curl, CURLOPT_HEADER, 0);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$temp = curl_exec($curl);
if (curl_errno($curl)) { echo curl_error($curl); }
curl_close($curl);
return $temp;
}