记录自己开发中经常遇到的小问题以及解决。

1,经常遇到乱码问题,什么页面到后台呀。jquery校验中的,ajax提交的,windows跟linux中交互的。。

所有的转码:

System.out.println("1:" + new String(str.getBytes("GBK"),"ISO8859_1")); 
        System.out.println("2:" +new String(str.getBytes("GBK"),"utf-8")); 
        System.out.println("3:" +new String(str.getBytes("GBK"),"GB2312")); 
        System.out.println("4:" +new String(str.getBytes("GBK"),"GBK")); 
        System.out.println("5:" +new String(str.getBytes("ISO8859_1"),"GBK")); 
        System.out.println("6:" +new String(str.getBytes("ISO8859_1"),"ISO8859_1")); 
        System.out.println("7:" +new String(str.getBytes("ISO8859_1"),"GB2312")); 
        System.out.println("8:" +new String(str.getBytes("ISO8859_1"),"utf-8")); 
        System.out.println("9:" +new String(str.getBytes("utf-8"),"GBK")); 
        System.out.println("10:" +new String(str.getBytes("utf-8"),"utf-8")); 
        System.out.println("11:" +new String(str.getBytes("utf-8"),"GB2312")); 
        System.out.println("12:" +new String(str.getBytes("utf-8"),"ISO8859_1")); 
        System.out.println("13:" +new String(str.getBytes("GB2312"),"GB2312")); 
        System.out.println("14:" +new String(str.getBytes("GB2312"),"ISO8859_1")); 
        System.out.println("15:" +new String(str.getBytes("GB2312"),"utf-8")); 
        System.out.println("16:" +new String(str.getBytes("GB2312"),"GBK"));

2,关于文件大小,是否存在的几种方式:

.var  urlImages=window.location.protocol + "//" + window.location.host +  "<c:url value="/printTempImages/common/" />";

 

 //判断图片是否存在
 function checkimg(obj){
  //alert(obj);
  var s;
  var xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
  xmlhttp.open("GET",obj,false);  
  xmlhttp.send();
  if(xmlhttp.readyState==4)
  { 
   if(xmlhttp.status==200) 
    s=true; //url存在 
   else if(xmlhttp.status==404) 
    s=false; //url不存在 
   else 
    s=false;//其他状态 
  }
   //alert(s); 
   return s;
 }

客户端文件校验大小:

<script type="text/javascript"> 
   
$(document).ready(function(){ 
$("#form0").submit(function() { 
        var filepath=$("input[name='myFile']").val(); 
        var extStart=filepath.lastIndexOf("."); 
        var ext=filepath.substring(extStart,filepath.length).toUpperCase(); 
        if(ext!=".BMP"&&ext!=".PNG"&&ext!=".GIF"&&ext!=".JPG"&&ext!=".JPEG"){ 
        alert("图片限于bmp,png,gif,jpeg,jpg格式"); 
        return false; 
        } 
        
   var img=new Image(); 
   img.src=filepath;   
   while(true){ 
    if(img.fileSize>0){ 
    if(img.fileSize>3*1024){       
            alert("图片不大于300KB。"); 
            return false; 
            } 
        break; 
    } 
   } 
   
   return true;       
}); 
}); 
</script>

只能客户端校验,局限性非常大。。而且有浏览器兼容问题。

一般校验是一个ajax假提交form到后台进行一个文件大小的length判断返回到前台再进行正常提交。

3,关于windows下端口被占用解决。

windows下查看端口被占用情况 findstr "xxx" 跟linux下的grep的作用一样,查询包含的字符串
首先 netstat -ano | findstr "xxx" a:全部的端口使用情况 n:用数字的形式表示主机IP o:显示对应的PID
查出端口号所对应的PID号,再执行 tasklist | findstr "PID" 查询出是哪个程序
需要杀掉程序的话执行 taskkill 杀之

4,关于删除linux下的乱码文件名文件。

当文件名为乱码的时候,无法通过键盘输入文件名,所以在终端下就不能直接利用rm,mv等命令管理文件了。

但是我们知道每个文件都有一个i节点号,我们可以考虑通过i节点号来管理文件。首先,我们要取得文件的i节点号。这个可以通过ls命令的-i选项获得得,也可以通过ll -i 来获得。

第二步,使用find命令将文件名传递给rm命令。e.g:删除节点为12345的乱码文件夹可以使用如下命令

find ./ -inum 12345 -print -exec rm {} -rf /;

注意/;前面的空格不能少,少了就会报错。

5,记得上次什么东西搞的ibaits里面的xml执行语句。 在where条件后面有固定条件and动态查询条件,怎么搞都不行。最后写这个东西~~。记下。

<select id="queryhotEaListByCond"
		parameterClass="Ea"
		resultMap="eaResult">
		select eaproviderid,eaprovidername,eaid,eaname,description,eastatus,activetime,eaphono,eatype,eaassort,ealabel,partition,
		eagenre,usedegree,tryoutdegree,bestowstamp,eadevlevel,eansp,score,votecount,status,applynum  from zxdev.ea
		where  eaid not in(select hottoolid from toolmaintenance)
		and eastatus='0'
		<dynamic>  
       <isNotEmpty prepend="and" property="eaid">
			  eaid = #eaid#
		</isNotEmpty> 
		<isNotEmpty prepend="and" property="eaname">
			  eaname like '%$eaname$%' escape '\'
		</isNotEmpty>
		<isNotEmpty prepend="and" property="activetime">
			  activetime =  #activetime#
		</isNotEmpty>
		<isNotEmpty prepend="and" property="eaassort">
			  eaassort =  #eaassort#
		</isNotEmpty>
		<isNotEmpty prepend="and" property="eagenre">
			  eagenre =  #eagenre#
		</isNotEmpty>
     </dynamic>  
</select>

6,oracle删除数据库死锁:

-第一步:查看是否有死锁存在,查出有数据则代表有死锁   
 select p.spid,c.object_name,b.session_id,b.oracle_username,b.os_user_name  from v$process p,v$session a,v$locked_object b,all_objects   c   
 where  p.addr=a.paddr   
 and    a.process=b.process   
 and    c.object_id=b.object_id 

 --第二步:查出死锁session的精确信息【sid 为前面语句的session_id】 
 SELECT sid, serial#, username, osuser FROM v$session where sid='第一步查询出来的session_id'; 

 --第三步:删除死锁【第一个参数为sid,第二个为serial#】 
 alter system kill session '第一个参数,第二个参数';

7,struts2的防止页面重复提交:

<!-- token标签防止重复提交的请求  -->
		<action name="register_app_register" class="developerAction" method="app_register">
			<interceptor-ref name="defaultStack" />
			<interceptor-ref name="token" />
			<result name="register_success_app">/aspportal/user/register_success_app.jsp</result>
			<result name="invalid.token">/aspportal/comm/repeat.jsp</result>
		</action>
		
		<action name="register_com_register" class="developerAction" method="com_register">
			<interceptor-ref name="defaultStack" />
			<interceptor-ref name="token" />
			<result name="register_success_com">/aspportal/user/register_success_com.jsp</result>
			<result name="register_activation">/aspportal/user/activation_email.jsp</result>
			<result name="invalid.token">/aspportal/comm/repeat.jsp</result>
		</action>
<!--  END -->

8,访问weblogic部署应用的时候提示403禁止访问....

很有可能是访问人数超过限制,然后禁止访问....一般未破解的weblogic'只能提供给5个人学习。

9,JS转换一段UTF码的中文成汉字

function revertUTF8(szInput)
{
    var x,wch,wch1,wch2,uch="",szRet="";
    for (x=0; x<szInput.length; x++)
    {
        if (szInput.charAt(x)=="%")
        {
            wch =parseInt(szInput.charAt(++x) + szInput.charAt(++x),16);
            if (!wch) {break;}
            if (!(wch & 0x80))
            {
                wch = wch;
            }
            else if (!(wch & 0x20))
            {
                x++;
                wch1 = parseInt(szInput.charAt(++x) + szInput.charAt(++x),16);
                wch  = (wch & 0x1F)<< 6;
                wch1 = wch1 & 0x3F;
                wch  = wch + wch1;
            }
            else
            {
                x++;
                wch1 = parseInt(szInput.charAt(++x) + szInput.charAt(++x),16);
                x++;
                wch2 = parseInt(szInput.charAt(++x) + szInput.charAt(++x),16);
                wch  = (wch & 0x0F)<< 12;
                wch1 = (wch1 & 0x3F)<< 6;
                wch2 = (wch2 & 0x3F);
                wch  = wch + wch1 + wch2;
            }
            szRet += String.fromCharCode(wch);
        }
        else
        {
            szRet += szInput.charAt(x);
        }
    }
    return(szRet);
}

相关推荐