??xml version="1.0" encoding="utf-8" standalone="yes"?>第一页在线观看,日本一区二区三区www,国产精品69精品一区二区三区http://www.aygfsteel.com/hyljava/category/51617.htmlzh-cnThu, 23 Mar 2017 20:58:05 GMTThu, 23 Mar 2017 20:58:05 GMT60解决SoapUI的Request URL不支持大?/title><link>http://www.aygfsteel.com/hyljava/archive/2017/03/23/soapui.html</link><dc:creator>何云?/dc:creator><author>何云?/author><pubDate>Thu, 23 Mar 2017 02:27:00 GMT</pubDate><guid>http://www.aygfsteel.com/hyljava/archive/2017/03/23/soapui.html</guid><wfw:comment>http://www.aygfsteel.com/hyljava/comments/432397.html</wfw:comment><comments>http://www.aygfsteel.com/hyljava/archive/2017/03/23/soapui.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/hyljava/comments/commentRss/432397.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/hyljava/services/trackbacks/432397.html</trackback:ping><description><![CDATA[<span style="widows: 1; text-transform: none; background-color: rgb(245,245,245); text-indent: 0px; display: inline !important; font: 14px/20px 'Open Sans', 'Helvetica Neue', 'Hiragino Sans GB', sans-serif, Arial, Verdana, 'BitStream vera Sans', Tahoma, Helvetica, sans-serif; white-space: normal; float: none; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-text-stroke-width: 0px">在SoapUI的Request URL中,每次输入的URL中含有的大写字母?x)自动{换ؓ(f)写字母Q导致请求不?/span>Q?br /><span style="widows: 1; text-transform: none; background-color: rgb(245,245,245); text-indent: 0px; display: inline !important; font: 14px/20px 'open sans', 'helvetica neue', 'hiragino sans gb', sans-serif, arial, verdana, 'bitstream vera sans', tahoma, helvetica, sans-serif; white-space: normal; float: none; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-text-stroke-width: 0px">q个问题在SoapUI 5.1.2?.2.1版本中都存在Q具体的解决办法是在HTTP TestRequest Properties的属性中Q在Endpoint中输入对应的含有大写字母的URL卛_?img border="0" alt="" src="http://www.aygfsteel.com/images/blogjava_net/hyljava/soapui.png" /><br /><br /><br /><br /></span><img src ="http://www.aygfsteel.com/hyljava/aggbug/432397.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/hyljava/" target="_blank">何云?/a> 2017-03-23 10:27 <a href="http://www.aygfsteel.com/hyljava/archive/2017/03/23/soapui.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>?war包命?/title><link>http://www.aygfsteel.com/hyljava/archive/2015/08/19/426883.html</link><dc:creator>何云?/dc:creator><author>何云?/author><pubDate>Wed, 19 Aug 2015 02:18:00 GMT</pubDate><guid>http://www.aygfsteel.com/hyljava/archive/2015/08/19/426883.html</guid><wfw:comment>http://www.aygfsteel.com/hyljava/comments/426883.html</wfw:comment><comments>http://www.aygfsteel.com/hyljava/archive/2015/08/19/426883.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/hyljava/comments/commentRss/426883.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/hyljava/services/trackbacks/426883.html</trackback:ping><description><![CDATA[<!--StartFragment --> <div>jar -cvf safety.war *<br />?war包命?/div><img src ="http://www.aygfsteel.com/hyljava/aggbug/426883.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/hyljava/" target="_blank">何云?/a> 2015-08-19 10:18 <a href="http://www.aygfsteel.com/hyljava/archive/2015/08/19/426883.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>jquery校验输入框内?/title><link>http://www.aygfsteel.com/hyljava/archive/2015/05/08/jquery.html</link><dc:creator>何云?/dc:creator><author>何云?/author><pubDate>Fri, 08 May 2015 03:22:00 GMT</pubDate><guid>http://www.aygfsteel.com/hyljava/archive/2015/05/08/jquery.html</guid><wfw:comment>http://www.aygfsteel.com/hyljava/comments/424940.html</wfw:comment><comments>http://www.aygfsteel.com/hyljava/archive/2015/05/08/jquery.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/hyljava/comments/commentRss/424940.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/hyljava/services/trackbacks/424940.html</trackback:ping><description><![CDATA[     摘要:  引用地址http://www.cnblogs.com/xdp-gacl/p/3467245.html 用Jquery控制文本框只能输入数字和字母   在公司开发WinForm目Ӟ发现公司自主研发的textbox控g非常强大Q可以实?只能输入数字"?只能输入字母"?只能输入数字和字?的三U输入限Ӟq样可以精控制用戯入的内容范围Q让"用户永远没有办法输入...  <a href='http://www.aygfsteel.com/hyljava/archive/2015/05/08/jquery.html'>阅读全文</a><img src ="http://www.aygfsteel.com/hyljava/aggbug/424940.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/hyljava/" target="_blank">何云?/a> 2015-05-08 11:22 <a href="http://www.aygfsteel.com/hyljava/archive/2015/05/08/jquery.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>文g下蝲到本?/title><link>http://www.aygfsteel.com/hyljava/archive/2013/11/23/406727.html</link><dc:creator>何云?/dc:creator><author>何云?/author><pubDate>Sat, 23 Nov 2013 12:51:00 GMT</pubDate><guid>http://www.aygfsteel.com/hyljava/archive/2013/11/23/406727.html</guid><wfw:comment>http://www.aygfsteel.com/hyljava/comments/406727.html</wfw:comment><comments>http://www.aygfsteel.com/hyljava/archive/2013/11/23/406727.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.aygfsteel.com/hyljava/comments/commentRss/406727.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/hyljava/services/trackbacks/406727.html</trackback:ping><description><![CDATA[<p>package com.shxt.controller;</p> <p>import java.io.File;<br />import java.io.FileInputStream;<br />import java.io.IOException;<br />import java.io.OutputStream;<br />import java.io.PrintWriter;<br />import java.net.URLEncoder;</p> <p>import javax.servlet.ServletException;<br />import javax.servlet.http.HttpServlet;<br />import javax.servlet.http.HttpServletRequest;<br />import javax.servlet.http.HttpServletResponse;</p> <p>public class DownLoadServlet extends HttpServlet {</p> <p> public void doGet(HttpServletRequest request, HttpServletResponse response)<br />   throws ServletException, IOException {</p> <p>  this.doPost(request, response);<br /> }</p> <p> public void doPost(HttpServletRequest request, HttpServletResponse response)<br />   throws ServletException, IOException {</p> <p>  response.setContentType("application/x-msdownload");<br />  PrintWriter out = response.getWriter();<br />  response.reset();// 可以加也可以不加<br />  response.setContentType("application/x-download");<br />  String filedownload = request.getRealPath("/images")<br />    + "<a href="file://\\02">\\02</a>_开发第一个无状态会(x)话bean.avi";// "惛_法找到要提供下蝲的文件的物理路径Q文件名";<br />  System.out.print(filedownload);<br />  String filedisplay = "okokok.avi";// "l用h供的下蝲文g?;<br />  filedisplay = URLEncoder.encode(filedisplay, "UTF-8");<br />  response.addHeader("Content-Disposition", "attachment;filename="<br />    + filedisplay);<br />   </p> <p>  OutputStream outp = null;<br />  FileInputStream in = null;<br />  try {<br />   outp = response.getOutputStream();<br />   // 你可以指定你的ftp输入?br />   in = new FileInputStream(new File(filedownload));</p> <p>   byte[] b = new byte[1024];<br />   int i = 0;</p> <p>   while ((i = in.read(b)) > 0) {<br />    outp.write(b, 0, i);<br />   }<br />   outp.flush();<br />  } catch (Exception e) {<br />   System.out.println("Error!");<br />   e.printStackTrace();<br />  } finally {<br />   if (in != null) {<br />    in.close();<br />    in = null;<br />   }<br />   if (outp != null) {<br />    outp.close();<br />    outp = null;<br />   }<br />   //out.clear();<br />   //out = pageContext.pushBody();<br />  }<br /> }</p> <p>}<br /></p><img src ="http://www.aygfsteel.com/hyljava/aggbug/406727.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/hyljava/" target="_blank">何云?/a> 2013-11-23 20:51 <a href="http://www.aygfsteel.com/hyljava/archive/2013/11/23/406727.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>提示输入内容http://www.aygfsteel.com/hyljava/archive/2013/04/12/397749.html何云?/dc:creator>何云?/author>Fri, 12 Apr 2013 07:37:00 GMThttp://www.aygfsteel.com/hyljava/archive/2013/04/12/397749.htmlhttp://www.aygfsteel.com/hyljava/comments/397749.htmlhttp://www.aygfsteel.com/hyljava/archive/2013/04/12/397749.html#Feedback2http://www.aygfsteel.com/hyljava/comments/commentRss/397749.htmlhttp://www.aygfsteel.com/hyljava/services/trackbacks/397749.html<input name="keyword"  type="text"  value="误入关键字" onFocus="this.value=''" onBlur="if(!value){value=defaultValue;}"/>

]]>
Lq接的蟩?/title><link>http://www.aygfsteel.com/hyljava/archive/2013/04/12/397748.html</link><dc:creator>何云?/dc:creator><author>何云?/author><pubDate>Fri, 12 Apr 2013 07:34:00 GMT</pubDate><guid>http://www.aygfsteel.com/hyljava/archive/2013/04/12/397748.html</guid><wfw:comment>http://www.aygfsteel.com/hyljava/comments/397748.html</wfw:comment><comments>http://www.aygfsteel.com/hyljava/archive/2013/04/12/397748.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/hyljava/comments/commentRss/397748.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/hyljava/services/trackbacks/397748.html</trackback:ping><description><![CDATA[<div><a href="javascript:void(0)" onclick="changeMa()">看不?lt;/a><br />onclick事g?x)被引发Q但是不?x)发生Q何蟩转,相当于一个死链接</div><img src ="http://www.aygfsteel.com/hyljava/aggbug/397748.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/hyljava/" target="_blank">何云?/a> 2013-04-12 15:34 <a href="http://www.aygfsteel.com/hyljava/archive/2013/04/12/397748.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>SpringMVC做二U联?/title><link>http://www.aygfsteel.com/hyljava/archive/2013/04/12/397747.html</link><dc:creator>何云?/dc:creator><author>何云?/author><pubDate>Fri, 12 Apr 2013 07:30:00 GMT</pubDate><guid>http://www.aygfsteel.com/hyljava/archive/2013/04/12/397747.html</guid><wfw:comment>http://www.aygfsteel.com/hyljava/comments/397747.html</wfw:comment><comments>http://www.aygfsteel.com/hyljava/archive/2013/04/12/397747.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/hyljava/comments/commentRss/397747.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/hyljava/services/trackbacks/397747.html</trackback:ping><description><![CDATA[<div><select id="myCol" onchange="getChange()"></div><div><span style="white-space:pre"> </span><option value="1"></div><div><span style="white-space:pre"> </span>大连交大</div><div><span style="white-space:pre"> </span></option></div><div><span style="white-space:pre"> </span><option value="2"></div><div><span style="white-space:pre"> </span>东北财经</div><div><span style="white-space:pre"> </span></option></div><div><span style="white-space:pre"> </span><option value="3"></div><div><span style="white-space:pre"> </span>大连事</div><div><span style="white-space:pre"> </span></option></div><div></select></div><div></div><div><select id="myGet"></div><div></div><div></select><br /><br /><br /><div><script type="text/javascript"  ></div><div>function getChange() {</div><div><span style="white-space:pre"> </span>//获取到第一个select表单value?/div><div><span style="white-space:pre"> </span>var myCol = document.getElementById("myCol").value;</div><div> <span style="white-space:pre"> </span>//拼接成要获取值的url<span style="white-space:pre"> </span></div><div><span style="white-space:pre"> </span>var url = "getCateGory?myCol=" + myCol; //url  </div><div><span style="white-space:pre"> </span> //利用jquery的ajaxҎ(gu)Q用此Ҏ(gu)要引jquery?/div><div><span style="white-space:pre"> </span>htmlobj = $.ajax( {</div><div><span style="white-space:pre"> </span>url : url,</div><div><span style="white-space:pre"> </span>async : false</div><div><span style="white-space:pre"> </span>});</div><div><span style="white-space:pre"> </span>//此处利用json处理|q需要引json包,在服务器端可以用GSON转化数据Q响应当前页?/div><div><span style="white-space:pre"> </span>/*服务器端Q?/div><div><span style="white-space:pre"> </span>//需要引GSON?/div><div><span style="white-space:pre"> </span>   //创徏一个Gson对象</div><div><span style="white-space:pre"> </span>Gson gson = new Gson();</div><div><span style="white-space:pre"> </span>//q回一个json格式的字W串 </div><div><span style="white-space:pre"> </span> <span style="white-space:pre"> </span>String pStr = gson.toJson(user);</div><div>      <span style="white-space:pre"> </span>System.out.println(pStr);</div><div><span style="white-space:pre"> </span> out.print(pStr);</div><div><span style="white-space:pre"> </span>*/</div><div><span style="white-space:pre"> </span>//接取响应|q且转化成JSON对象</div><div><span style="white-space:pre"> </span>var obj = JSON.parse(htmlobj.responseText);</div><div><span style="white-space:pre"> </span> //此变量是为拼接而做</div><div><span style="white-space:pre"> </span>var options = "";</div><div><span style="white-space:pre"> </span>var myGet = document.getElementById("myGet");</div><div></div><div><span style="white-space:pre"> </span>//myGet.removeChild("option");</div><div><span style="white-space:pre"> </span>//删除现有option节点</div><div><span style="white-space:pre"> </span>for ( var i = 1; i <= myGet.length; i++) {</div><div><span style="white-space:pre"> </span>myGet.remove(i);</div><div><span style="white-space:pre"> </span>}</div><div><span style="white-space:pre"> </span>myGet.remove(myGet.selectedIndex);</div><div>   //利用循环Q在此将新的optiond?/div><div>   for(var i=0;i<obj.length;i++){</div><div> <span style="white-space:pre"> </span> alert(obj[i].uUserName);</div><div>     var myOption=document.createElement("option");</div><div> <span style="white-space:pre"> </span>myOption.setAttribute("value",obj[i].uId);</div><div> <span style="white-space:pre"> </span>var testN=document.createTextNode(obj[i].uUserName);</div><div><span style="white-space:pre"> </span> myOption.appendChild(testN);</div><div> <span style="white-space:pre"> </span> myGet.appendChild(myOption);</div><div>  </div><div> //此种Ҏ(gu)最单,但是没有技术含?/div><div> //options+="<option value='"+obj[i].uId+"'>"+obj[i].uUserName+"</option>";</div><div></div><div> }</div><div>// myGet.innerHTML=options;</div><div>  </div><div>}</div><div></div><div></div><div></script></div></div><img src ="http://www.aygfsteel.com/hyljava/aggbug/397747.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/hyljava/" target="_blank">何云?/a> 2013-04-12 15:30 <a href="http://www.aygfsteel.com/hyljava/archive/2013/04/12/397747.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JSP~程的过E中?x)遇到各U各L(fng)问题http://www.aygfsteel.com/hyljava/archive/2013/03/25/396975.html何云?/dc:creator>何云?/author>Mon, 25 Mar 2013 09:17:00 GMThttp://www.aygfsteel.com/hyljava/archive/2013/03/25/396975.htmlhttp://www.aygfsteel.com/hyljava/comments/396975.htmlhttp://www.aygfsteel.com/hyljava/archive/2013/03/25/396975.html#Feedback0http://www.aygfsteel.com/hyljava/comments/commentRss/396975.htmlhttp://www.aygfsteel.com/hyljava/services/trackbacks/396975.html 

在JSP~程的过E中?x)遇到各U各L(fng)问题

JSP常见问题1:

表单request汉字处理Q?/p>

  1. request.setCharacterEncoding("GB2312") 

JSP常见问题2:

在JSP|页中获取页面的名称Q?/p>

  1. request.getRequestURI() ;//文g? 
  2. request.getRequestURL() ;//全部url 

JSP常见问题3:

面不保留缓存:(x)

  1. response.setHeader("Pragma","No-cache");  
  2. response.setHeader("Cache-Control","no-cache");  
  3. response.setDateHeader("Expires", 0);  
  4.  

JSP常见问题4:

日期旉Q服务器端)

  1. String datestr ;  
  2. java.text.DateFormat df = new java.text.SimpleDateFormat("MM月dd?nbsp;HH:mm E"); //q里格式? 
  3. datestr = df.format(new java.util.Date()) ;  
  4. out.println(datestr);  
  5.  

或?/p>

  1. % java.util.Date shijian= new java.util.Date();%Q? 
  2. %=shijian.getYear()+1900%Q?=shijian.getMonth()+1%Q?=shijian.getDate()%Q? 
  3. %=shijian.getHour()%Q?=shijian.getMinute()%Q? 
  4.  

JSP常见问题5:

java中运用正则?/p>

jdk需?.4以上 import="java.util.regex.*

JSP常见问题6:

点后退昄|页q期

在里面加以下代码

  1. META http-equiv=Pragma content=no-cache  
  2. META http-equiv=Cache-Control content=no-cache  
  3. META http-equiv=Expires content=0  
  4.  

?3 原理一栗?/p>

JSP常见?:

swtich不能作用在long上和String上:(x)

switchQexpr1Q中Qexpr1是一个整数表辑ּ。传递给 switch ?case 语句的参数应该是
int?short?char 或?byte。long,string 都不能作用于swtich?/p>

JSP常见问题8:

计算执行所p的时?/p>

代码开始取旉Q结束后取时_(d)相减

  1. long t1 = System.currentTimeMillis();  
  2. .... ...... ....  ...your code  
  3. long t2 = System.currentTimeMillis() ;  
  4. long time = t2-t1;  
  5.  

JSP常见问题9:

四舍五入Q保留小数点后两位小敎ͼ

  1. import java.text.*;  
  2. NumberFormat nf=NumberFormat.getNumberInstance();  
  3. nf.setMaximumFractionDigits(2);  
  4. nf.setMinimumFractionDigits(2);  
  5. nf.format(numb);  

或?+0.005 - 0.01)再取.后两?/p>

JSP常见问题10:

form的默认方法是get.

post方式是向服务器传送大定w数据时用的Ҏ(gu)。(再打开一个socket.?Q?/p>

JSP常见问题11:

防止用户直接输入urlq去面Q?/p>

◆是在要访问的面中加入控?q个一般用session?/p>

◆是从web服务器控?Ҏ(gu)一目录的所有访问要通过验证.Q有把jsp攑ֈweb-inf下)

JSP常见问题12:

数据库是datetime ?Q插入当前时间到数据库:(x)

  1. java.sql.Date sqlDate = new java.sql.Date();  
  2. PreparedStatement pstmt = conn.prepareStatement("insert into foo(time) values(?)");  
  3. pstmt.setDate(1,sqlDate);  
  4. pstmt.executeUpdate();  
  5.  

其实一般数据库都有自己的系l时间函数?/p>

insert into foo(time) values(sysdate)

JSP常见问题13:

session存取intcd的变量:(x)

  1. session.setAttribute("int", i+""); //注意q里i+""  
  2. int i = Integer.parseInt(session.getAttribute("int"));  
  3.  

session的一些概c(din)?/p>

用户在浏览网|Q由于Http 协议是一U无状态的协议Q往往在不同的面之间存在数据交换的问题,q就需要在q些不同的页面之间共享数据。常见的实现Ҏ(gu)是把要共享的数据保存?Session 中。比如在用户d的页面中把一些用L(fng)信息保存到Session 之中Q然后在其他的页面中d用户的信息。这些共享的数据可以是字W串或者与Java 的原始数据类型相关的对象Q也可以是一个Java 对象?/p>

Session 只能保存对象Q不能保存原始的数据cdQ比如:(x)

session.setAttribute(“count”,10)

是非法的语句Q如果要把gؓ(f)10 的整C存到Session 中,需要用以下的Ҏ(gu)Q?/p>

session.setAttribute(“count”,new Integer(10));

然后在另一个页面中使用Q?/p>

(Integer)session.getAttribute(“count”)

来把q个整数d出来?/p>

was中设|可以把session攑֜pȝ的数据库中,但这样媄响效率。session大小最好不要太?/p>

JSP常见问题14:

把字W{化成ASCII?/p>

int a='A'; out.println(a);

JSP常见问题15:

String s = new String("xyz");创徏了两个String Object对象Q一个是“xyx”,一个是指向“xyx”的引用对象s?/p>

q有典型的equals() ?== q个参考在堆栈原理?/p>

JSP常见问题16:

Hashtable和HashMap 

Hashtablel承自Dictionaryc,而HashMap是Java1.2引进的Map interface的一个实现HashMap允许null作ؓ(f)一个entry的key或者valueQ而Hashtable不允?/p>

Hashtable的方法是Synchronize的,而HashMap不是Q在多个U程讉KHashtableӞ不需要自׃ؓ(f)它的Ҏ(gu)实现同步Q而HashMap必Mؓ(f)之提供外同步?/p>

]]>
Q{载)Sessionhttp://www.aygfsteel.com/hyljava/archive/2013/03/23/396892.html何云?/dc:creator>何云?/author>Sat, 23 Mar 2013 01:53:00 GMThttp://www.aygfsteel.com/hyljava/archive/2013/03/23/396892.htmlhttp://www.aygfsteel.com/hyljava/comments/396892.htmlhttp://www.aygfsteel.com/hyljava/archive/2013/03/23/396892.html#Feedback0http://www.aygfsteel.com/hyljava/comments/commentRss/396892.htmlhttp://www.aygfsteel.com/hyljava/services/trackbacks/396892.html阅读全文

]]>
客户端蟩转与服务器端跌{的区?/title><link>http://www.aygfsteel.com/hyljava/archive/2013/03/18/396576.html</link><dc:creator>何云?/dc:creator><author>何云?/author><pubDate>Mon, 18 Mar 2013 02:05:00 GMT</pubDate><guid>http://www.aygfsteel.com/hyljava/archive/2013/03/18/396576.html</guid><wfw:comment>http://www.aygfsteel.com/hyljava/comments/396576.html</wfw:comment><comments>http://www.aygfsteel.com/hyljava/archive/2013/03/18/396576.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/hyljava/comments/commentRss/396576.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/hyljava/services/trackbacks/396576.html</trackback:ping><description><![CDATA[<h2><a id="cb_post_title_url" style="color: #0066ff; text-decoration: none;">客户端蟩转与服务器端跌{的区?/a></h2><div style="font-size: 13px; padding-left: 5px; line-height: 1.5; color: #333333; font-family: Verdana, Arial, sans-serif, 'Lucida Grande'; background-color: #d6d3d6;"><div class="wmqeeuq" id="cnblogs_post_body" style="line-height: 1.8; word-break: normal !important;"><p style="margin-top: 10px; margin-bottom: 10px;"><div><p style="margin-bottom:0pt; margin-top:0pt; "><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'宋体'; ">客户端蟩转与服务器端跌{的区?/span></p><p style="margin-bottom:0pt; margin-top:0pt; "></p><p style="margin-bottom:0pt; margin-top:0pt; "></p><p style="margin-bottom:0pt; margin-top:0pt; "></p><p style="margin-bottom:0pt; margin-top:0pt; "><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'宋体'; ">客户端蟩转时用HttPservletResopse对象的sendRedirect函数实现Q服务器端蟩转是使用RequestDispather对象的forwardҎ(gu)实现的。这两者之间的区别主要体现在三个方面:(x)</span></p><p style="margin-bottom:0pt; margin-top:0pt; "> </p><p style="margin-bottom:0pt; margin-top:0pt; "><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'宋体'; ">1. 使用服务器端跌{Ӟ客户览器的地址栏ƈ不会(x)昄目标地址的URLQ而是用客L(fng)跌{Ӟ地址栏当中会(x)昄目标资源的URLQ?/span></p><p style="margin-bottom:0pt; margin-top:0pt; "> </p><p style="margin-bottom:0pt; margin-top:0pt; "><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'宋体'; ">2. </span><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'宋体'; ">服务器端跌{是由客户端发送一个请求,h一个服务器资源——如JSP和Servlet——Q这个资源又请求{到另一个服务器资源Q然后再l客L(fng)发送一个响应,也就是说服务器端跌{是客L(fng)发送一ơ请求,服务器端l出一ơ响应;</span></p><p style="margin-bottom:0pt; margin-top:0pt; "></p><p style="margin-bottom:0pt; margin-top:0pt; "><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'宋体'; ">客户端蟩转的程则不同。客L(fng)同样是发送一个请求给服务器端资源Q这个服务器资源?x)首先给客户端一个响应,客户端再Ҏ(gu)q个响应当中所包含的地址Q再ơ向服务器端发送一个请求,也就是说客户端蟩转是两次hQ两ơ响应;</span></p><p style="margin-bottom:0pt; margin-top:0pt; "> </p><p style="margin-bottom:0pt; margin-top:0pt; "><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'宋体'; ">3. 在进行客L(fng)跌{和服务器端蟩转时Q都需要指定目标资源的URLQ如果这个\径以“</span><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'宋体'; ">/</span><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'宋体'; ">”开始。在客户端蟩转当?#8220;</span><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'宋体'; ">/</span><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'宋体'; ">”代表的是应用服务器根目录Q而在服务器端跌{当中代表的是应用E序根目录?/span></p><p style="margin-bottom:0pt; margin-top:0pt; "> </p><p style="margin-bottom:0pt; margin-top:0pt; "> </p><p style="margin-bottom:0pt; margin-top:0pt; "> </p><p style="margin-bottom:0pt; margin-top:0pt; "> </p><p style="margin-bottom:0pt; margin-top:0pt; "> </p><p style="margin-bottom:0pt; margin-top:0pt; "><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'宋体'; ">page = 面U别</span></p><p style="margin-bottom:0pt; margin-top:0pt; "> </p><p style="margin-bottom:0pt; margin-top:0pt; "><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'宋体'; ">request = hU别Q与服务器端跌{配合使用Q?/span></p><p style="margin-bottom:0pt; margin-top:0pt; "> </p><p style="margin-bottom:0pt; margin-top:0pt; "><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'宋体'; ">session = ?x)话U别Q客L(fng)跌{Q服务器端蟩转也可,但是客户端蟩转更加突Zsession的作用范_(d)Q?/span></p><p style="margin-bottom:0pt; margin-top:0pt; "> </p><p style="margin-bottom:0pt; margin-top:0pt; "><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'宋体'; ">application = 应用U别</span></p><p style="margin-bottom:0pt; margin-top:0pt; "> </p><p style="margin-bottom:0pt; margin-top:0pt; "><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'宋体'; ">客户端蟩转:(x)服务器端请求结果返回给客户端,客户端向服务器发出另一ơ请求。在客户端蟩转过E中是两ơ不同的h。在地址栏中昄的是最后一ơ请求地址?/span></p><p style="margin-bottom:0pt; margin-top:0pt; "> </p><p style="margin-bottom:0pt; margin-top:0pt; "><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'宋体'; ">客户端蟩转可以进行站外蟩转?/span></p><p style="margin-bottom:0pt; margin-top:0pt; "> </p><p style="margin-bottom:0pt; margin-top:0pt; "><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'宋体'; ">1、链接蟩转:(x)<a href=””></a></span></p><p style="margin-bottom:0pt; margin-top:0pt; "> </p><p style="margin-bottom:0pt; margin-top:0pt; "><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'宋体'; ">2、表单提?/span></p><p style="margin-bottom:0pt; margin-top:0pt; "> </p><p style="margin-bottom:0pt; margin-top:0pt; "><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'宋体'; ">3、Response.sendRedirect(“3.jsp”);</span></p><p style="margin-bottom:0pt; margin-top:0pt; "> </p><p style="margin-bottom:0pt; margin-top:0pt; "><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'宋体'; ">4?lt;mata http-equiv=”refresh”, content=”3;2.jsp”/></span></p><p style="margin-bottom:0pt; margin-top:0pt; "> </p><p style="margin-bottom:0pt; margin-top:0pt; "><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'宋体'; ">5、response.setHeader(“refresh”,” 3;2.jsp”);</span></p><p style="margin-bottom:0pt; margin-top:0pt; "> </p><p style="margin-bottom:0pt; margin-top:0pt; "><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'宋体'; ">6、客L(fng)跌{“/”代表服务器跟路径</span><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'宋体'; ">Q?/span><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'宋体'; ">localhost:8080</span><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'宋体'; ">Q?/span></p><p style="margin-bottom:0pt; margin-top:0pt; "><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'宋体'; ">7、客L(fng)跌{“.”代表当前工程目根\径(</span><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'宋体'; ">http://localhost:8080/addressbook</span><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'宋体'; ">Q?/span></p><p style="margin-bottom:0pt; margin-top:0pt; "> </p><p style="margin-bottom:0pt; margin-top:0pt; "> </p><p style="margin-bottom:0pt; margin-top:0pt; "><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'宋体'; ">服务器端跌{Q容器内跌{Q:(x)能够自动的在服务器内部进行蟩转,q种跌{对用h说是透明的。两ơ蟩转时同一个requestQ在地址栏中昄的事W一ơ页面地址?/span></p><p style="margin-bottom:0pt; margin-top:0pt; "> </p><p style="margin-bottom:0pt; margin-top:0pt; "><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'宋体'; ">只能q行站点内蟩转?/span></p><p style="margin-bottom:0pt; margin-top:0pt; "> </p><p style="margin-bottom:0pt; margin-top:0pt; text-autospace:ideograph-numeric; text-autospace:ideograph-other; text-align:justify; line-height:25.0000pt; vertical-align:; "><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'宋体'; ">1?lt;jsp:forward page=””/></span><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'宋体'; ">    --写在jsp面内的跌{</span></p><p style="margin-bottom:0pt; margin-top:0pt; text-autospace:ideograph-numeric; text-autospace:ideograph-other; text-align:justify; line-height:25.0000pt; vertical-align:; "><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'宋体'; ">2、pageContext.forward();</span><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'宋体'; ">       --写在jsp面内的跌{</span></p><p style="margin-bottom:0pt; margin-top:0pt; text-autospace:ideograph-numeric; text-autospace:ideograph-other; text-align:justify; line-height:25.0000pt; vertical-align:; "><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'宋体'; ">3?nbsp;</span><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'宋体'; ">request.getRequestDispatcher("1.jsp").forward(request,response);</span></p><p style="margin-bottom:0pt; margin-top:0pt; text-autospace:ideograph-numeric; text-autospace:ideograph-other; text-align:justify; line-height:25.0000pt; vertical-align:; "><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'宋体'; ">4?nbsp;</span><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'宋体'; ">服务器端跌{“/”代表</span><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'宋体'; ">当前h根\径(</span><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'宋体'; ">http://localhost:8080/addressbooktest/GoServlet</span><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'宋体'; ">Q?/span></p><p style="margin-bottom:0pt; margin-top:0pt; text-autospace:ideograph-numeric; text-autospace:ideograph-other; text-align:justify; line-height:25.0000pt; vertical-align:; "><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'宋体'; ">5?nbsp;</span><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'宋体'; ">服务器端跌{“</span><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'宋体'; ">.</span><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'宋体'; ">”代表</span><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'宋体'; ">当前h根\径(</span><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'宋体'; ">http://localhost:8080/addressbooktest/GoServlet</span><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'宋体'; ">Q?/span></p></div></p></div></div><img src ="http://www.aygfsteel.com/hyljava/aggbug/396576.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/hyljava/" target="_blank">何云?/a> 2013-03-18 10:05 <a href="http://www.aygfsteel.com/hyljava/archive/2013/03/18/396576.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>升版JDBC工具c?/title><link>http://www.aygfsteel.com/hyljava/archive/2012/05/31/379691.html</link><dc:creator>何云?/dc:creator><author>何云?/author><pubDate>Thu, 31 May 2012 14:07:00 GMT</pubDate><guid>http://www.aygfsteel.com/hyljava/archive/2012/05/31/379691.html</guid><wfw:comment>http://www.aygfsteel.com/hyljava/comments/379691.html</wfw:comment><comments>http://www.aygfsteel.com/hyljava/archive/2012/05/31/379691.html#Feedback</comments><slash:comments>10</slash:comments><wfw:commentRss>http://www.aygfsteel.com/hyljava/comments/commentRss/379691.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/hyljava/services/trackbacks/379691.html</trackback:ping><description><![CDATA[<p> </p> <p>import java.sql.Connection;<br />import java.sql.DriverManager;<br />import java.sql.ParameterMetaData;<br />import java.sql.PreparedStatement;<br />import java.sql.ResultSet;<br />import java.sql.ResultSetMetaData;<br />import java.sql.SQLException;<br />import java.sql.Statement;<br />import java.util.HashMap;<br />import java.util.LinkedList;<br />import java.util.List;<br />import java.util.Map;</p> <p><br />/**<br /> * 用户数据库访问的c?br /> *@作者Administrator<br /> <a href="mailto:*@createTime">*@createTime</a> 2011-12-5 上午11:55:18<br /> <a href="mailto:*@version">*@version</a> 1.0<br /> */<br />public class DButil1 {</p> <p> private Connection conn;<br /> private Statement st;<br /> private PreparedStatement pps;<br /> private ResultSet rs;<br /> public  String url="jdbc:oracle:thin:@localhost:1521:orcl";<br /> private String user="hyl";<br /> private String password="hyl";<br /> <br /> //加蝲驱动、放在静态代码块中,保证驱动在整个项目中只加载一ơ,提高效率<br /> static{<br />  try {<br />   Class.forName("oracle.jdbc.driver.OracleDriver");<br />  } catch (ClassNotFoundException e) {<br />   e.printStackTrace();<br />  }<br /> }<br /> <br /> /**<br />  * 获取q接的方?br />  * @return Connection 一个有效的数据库连?br />  */<br /> public Connection getConnection()<br /> {<br />  try {<br />   //注意链接Ӟ要换成自q数据库名Q数据库用户名及(qing)密码<br />   Connection con=DriverManager.getConnection(url,user,password);<br />   return con;<br />  } catch (SQLException e) {<br />   e.printStackTrace();<br />  }<br />  return null;<br /> }</p> <p> /**<br />  * 用于执行更新的方?包括Qinsert delete updateQ操?br />  * @param sql String cd的SQL语句<br />  * @return Integer 表示受媄响的行数<br />  */<br /> public int update(String sql)<br /> {<br />  //定义变量用来判断更新操作是否成功Q如果返?1说明没有影响到更新操作的数据库记录条敎ͼx新操作失?br />  int row=-1;<br />  try {<br />   //如果数据库链接被关闭了,p既得一个新的链?br />   if(conn==null||conn.isClosed()){<br />     conn=getConnection();<br />   }<br />   //使用Connection对象conn的createStatement()创徏StatementQ数据库语句对象Qst<br />   st=conn.createStatement();<br />   //执行更新操作Q返回媄响的记录条数row<br />   row=st.executeUpdate(sql);<br />  } catch (SQLException e) {<br />   e.printStackTrace();<br />  }<br />  finally{<br />   close();<br />  }<br />  return row;<br /> }<br /> <br /> /**<br />  * ZPreparedStatement的修Ҏ(gu)?PreparedStatement:表示预编译的 SQL 语句的对?br />  * @param sql  String cd的SQL语句Qinsert delete updateQ?br />  * @param obj 存放动态参数的数组<br />  * @return Integer 表示受媄响的行数<br />  */<br /> public int update(String sql,Object ...obj)<br /> {<br />  try {<br />   //获取链接<br />   if(conn==null||conn.isClosed()){<br />     conn=getConnection();<br />   }<br />   //创徏预编译的 SQL 语句对象<br />   pps=conn.prepareStatement(sql);<br />   //定义变量length代表数组长度Q也是预处理的sql语句中的参数个数 <br />   int length=0;<br />   //ParameterMetaDataQ用于获取关?PreparedStatement 对象中每个参数的cd和属性信息的对象<br />   ParameterMetaData pmd=pps.getParameterMetaData();<br />   length=pmd.getParameterCount();<br />   //循环sql语句中的?讄为obj数组中对应的|注意?开始,所以i要加1<br />   for(int i=0;i<length;i++)<br />   {<br />    pps.setObject(i+1, obj[i]);<br />   }<br />   //执行更新操作<br />   return pps.executeUpdate();<br />  } catch (SQLException e) {<br />   e.printStackTrace();<br />  }finally{<br />   close();<br />  }<br />  <br />  return -1;<br /> }<br /> /**<br />  * 获取一条记录的Ҏ(gu)Q要依赖于下面的queryToListҎ(gu)Q注意泛型的使用<br />  * @param sql<br />  * @return Map<String,Object><br />  */<br /> public Map<String,Object> getOneRow(String sql)<br /> {<br />  //执行下面的queryToListҎ(gu)<br />  List<Map<String,Object>> list=queryToList(sql);<br />  //三目q算Q查询结果list不ؓ(f)I回list中第一个对?否则q回null<br />  return list.size()>0?list.get(0):null;<br /> }<br /> <br /> /**<br />  * q回查询l果列表QŞ如:(x)[{TEST_NAME=aaa, TEST_NO=2, TEST_PWD=aaa}, {TEST_NAME=bbb, TEST_NO=3, TEST_PWD=bbb}...]<br />  * @param sql<br />  * @return List<Map<String,Object>><br />  */<br /> public List<Map<String,Object>> queryToList(String sql)<br /> {<br />  //创徏集合列表用以保存所有查询到的记?br />  List<Map<String, Object>> list=new LinkedList<Map<String, Object>>();<br />  try {<br />   if(conn==null||conn.isClosed()){<br />     conn=getConnection();<br />   }<br />   st=conn.createStatement();<br />   rs=st.executeQuery(sql);<br />   //ResultSetMetaData 是结果集元数据,可获取关?ResultSet 对象中列的类型和属性信息的对象 例如Q结果集中共包括多少列,每列的名U和cd{信?br />   ResultSetMetaData rsmd=rs.getMetaData();<br />   //获取l果集中的列?br />   int columncount=rsmd.getColumnCount();<br />   //while条g成立表明l果集中存在数据<br />   while(rs.next())<br />   {<br />    //创徏一个HashMap用于存储一条数?br />    HashMap<String, Object> onerow=new HashMap<String, Object>();<br />    //循环获取l果集中的列名及(qing)列名所对应的|每次循环都得C个对象,形如Q{TEST_NAME=aaa, TEST_NO=2, TEST_PWD=aaa}<br />    for(int i=0;i<columncount;i++)<br />    {<br />     //获取指定列的名称Q注意orcle中列名的大小?br />     String columnName=rsmd.getColumnName(i+1);<br />     onerow.put(columnName, rs.getObject(i+1));<br />    }<br />    //获取到的对象onewrow={TEST_NAME=aaa, TEST_NO=2, TEST_PWD=aaa}攑ֈ集合列表?br />    list.add(onerow);<br />   }<br />  }catch (SQLException e) {<br />   e.printStackTrace();<br />  }<br />  finally{<br />   close();<br />  }<br />  return list;<br /> }<br /> /**<br />  * q回查询l果列表,使用的是预编lSQL 语句对象PreparedStatement<br />  * 形如Q[{TEST_NAME=aaa, TEST_NO=2, TEST_PWD=aaa}, {TEST_NAME=bbb, TEST_NO=3, TEST_PWD=bbb}]<br />  * @param sql<br />  * @param paramValues<br />  * @return List<Map<String,Object>><br />  */<br /> public List<Map<String,Object>> queryWithParam(String sql,Object ...paramValues){<br />  //创徏集合列表用以保存所有查询到的记?br />  List<Map<String, Object>> list=new LinkedList<Map<String, Object>>();<br />  try {<br />   if(conn==null||conn.isClosed()){<br />     conn=getConnection();<br />   }<br />   pps = conn.prepareStatement(sql);<br />   for (int i = 0; i < paramValues.length; i++) {<br />    pps.setObject(i + 1, paramValues[i]);<br />   }<br />   rs = pps.executeQuery();<br />   //ResultSetMetaData 是结果集元数据,可获取关?ResultSet 对象中列的类型和属性信息的对象 例如Q结果集中共包括多少列,每列的名U和cd{信?br />   ResultSetMetaData rsmd=rs.getMetaData();<br />   //获取l果集中的列?br />   int columncount=rsmd.getColumnCount();<br />   //while条g成立表明l果集中存在数据<br />   while (rs.next()) {<br />    //创徏一个HashMap用于存储一条数?br />    HashMap<String, Object> onerow=new HashMap<String, Object>();<br />    //循环获取l果集中的列名及(qing)列名所对应的|每次循环都得C个对象,形如Q{TEST_NAME=aaa, TEST_NO=2, TEST_PWD=aaa}<br />    for(int i=0;i<columncount;i++)<br />    {<br />     //获取指定列的名称Q注意orcle中列名的大小?br />     String columnName=rsmd.getColumnName(i+1);<br />     onerow.put(columnName, rs.getObject(i+1));<br />    }<br />    //获取到的对象onewrow={TEST_NAME=aaa, TEST_NO=2, TEST_PWD=aaa}攑ֈ集合列表?br />    list.add(onerow);<br />   }<br />  }catch (SQLException e) {<br />   e.printStackTrace();<br />  }<br />  finally{<br />   close();<br />  }<br />  return list;<br /> }<br /> <br /> <br /> <br /> /**<br />  * 实现oracle分页功能<br />  * @param sql<br />  * @param pagesize<br />  * @param pagenow<br />  * @return PageBean<br />  */<br /> public PageBean getPage(String sql,int pagesize,int pagenow)<br /> {<br />  PageBean pb=new PageBean();<br />  int end=pagenow*pagesize;<br />  int start=end-pagesize+1;<br />  String exesql="select a.* from (select t.*,rownum as rowindex from ("+sql+") t where rownum<="+end+" ) a where a.rowindex>="+start;<br />  String countsql="select count(*) as rowcount from ("+sql+")";<br />  pb.setResult(queryToList(exesql));<br />  pb.setPagenow(pagenow);<br />  pb.setPagesize(pagesize);<br />  Map<String,Object> map=this.getOneRow(countsql);<br />  int rows=Integer.parseInt(map.get("ROWCOUNT").toString());<br />  pb.setRows(rows);<br />  int pages=rows%pagesize==0?rows/pagesize:rows/pagesize+1;<br />  pb.setPages(pages);<br />  pb.setSql(sql);<br />  return pb;<br /> }<br /> /**<br />  * 关闭数据库各U资源Connection Statement PreparedStatement ResultSet的方?br />  */<br /> private void close()<br /> {<br />     if(rs!=null)<br />     {<br />      try {<br />    rs.close();<br />   } catch (SQLException e) {<br />    e.printStackTrace();<br />   }<br />     }<br />     <br />     if(st!=null)<br />     {<br />      try {<br />       st.close();<br />   } catch (SQLException e) {<br />    e.printStackTrace();<br />   }<br />     }<br />     if(pps!=null){<br />      try {<br />       pps.close();<br />   } catch (SQLException e) {<br />    e.printStackTrace();<br />   }<br />     }<br />     try {<br />   if(conn!=null&&!conn.isClosed())<br />   {<br />    try {<br />     conn.close();<br />    } catch (SQLException e) {<br />     e.printStackTrace();<br />    }<br />   }<br />  } catch (SQLException e) {<br />   e.printStackTrace();<br />  }<br /> }<br /> <br />}</p><img src ="http://www.aygfsteel.com/hyljava/aggbug/379691.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/hyljava/" target="_blank">何云?/a> 2012-05-31 22:07 <a href="http://www.aygfsteel.com/hyljava/archive/2012/05/31/379691.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>监听器实现获取网l在Uh?/title><link>http://www.aygfsteel.com/hyljava/archive/2012/05/28/379381.html</link><dc:creator>何云?/dc:creator><author>何云?/author><pubDate>Mon, 28 May 2012 11:12:00 GMT</pubDate><guid>http://www.aygfsteel.com/hyljava/archive/2012/05/28/379381.html</guid><wfw:comment>http://www.aygfsteel.com/hyljava/comments/379381.html</wfw:comment><comments>http://www.aygfsteel.com/hyljava/archive/2012/05/28/379381.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/hyljava/comments/commentRss/379381.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/hyljava/services/trackbacks/379381.html</trackback:ping><description><![CDATA[<p>首先写一个计数的cOnlineCounter <br /><br />package accp.onlinecounter;</p> <p>public class OnlineCounter {<br /> private static long online = 0;</p> <p> public static long getOnline() {</p> <p>  return online;</p> <p> }</p> <p> public static void raise() {</p> <p>  online++;</p> <p> }</p> <p> public static void reduce() {<br />  online--;</p> <p> }<br />}<br /><br /><br />之后写一个实现HttpSessionEvent的类OnlineCounterListener <br /></p> <p>package  accp.onlinecounter;</p> <p>import javax.servlet.http.HttpSessionEvent;  </p> <p>  import javax.servlet.http.HttpSessionListener; <br />  public class OnlineCounterListener implements HttpSessionListener { <br />  public void sessionCreated(HttpSessionEvent hse) { <br />   OnlineCounter.raise(); <br /> } </p> <p>  public void sessionDestroyed(HttpSessionEvent hse) { </p> <p>  OnlineCounter.reduce(); <br />  }<br />  } <br /></p> <p>在web.xml中写listener的注册信?br />   <listener> <br />  <listener-class><br />  accp.onlinecounter.OnlineCounterListener<br />  </listener-class> <br />    </listener> <br />前台界面写上<br /><br />  <body><br /> 在线人数Q?<span style="color: red"><</span><span style="color: red">%=OnlineCounter.getOnline() %></span><br/><br />   <a href="adcourse.jsp">d评add course</a><br/><br />   <a href="adds.jsp">d学生add stu</a><br/><br />   <a href="findallcourse.jsp">查询评信息 select course</a><br/><br />    <a href="findallstudent.jsp">查询学生信息 select student</a><br/><br />    <a href="addstudentcourse.jsp">d选课信息add student course</a><br/><br />      <a href="querystucourse.jsp">查询选课信息query student course</a><br/><br />   <br />  </body><br />注意引入包即?br /></p><img src ="http://www.aygfsteel.com/hyljava/aggbug/379381.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/hyljava/" target="_blank">何云?/a> 2012-05-28 19:12 <a href="http://www.aygfsteel.com/hyljava/archive/2012/05/28/379381.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>用js获得q且验验证码http://www.aygfsteel.com/hyljava/archive/2012/05/22/378758.html何云?/dc:creator>何云?/author>Tue, 22 May 2012 00:12:00 GMThttp://www.aygfsteel.com/hyljava/archive/2012/05/22/378758.htmlhttp://www.aygfsteel.com/hyljava/comments/378758.htmlhttp://www.aygfsteel.com/hyljava/archive/2012/05/22/378758.html#Feedback0http://www.aygfsteel.com/hyljava/comments/commentRss/378758.htmlhttp://www.aygfsteel.com/hyljava/services/trackbacks/378758.html<html>
<head>
<style type="text/css">
.code{
background-image:url(111.jpg);
font-family:Arial;
font-style:italic;
color:green;
border:0;
padding:2px 3px;
letter-spacing:3px;
font-weight:bolder;
}
.unchanged {
border:0;
}
</style>
<script language="javascript" type="text/javascript">
var code ; //在全局 定义验证?br />function createCode(){
code = "";
var codeLength = 4;//验证码的长度
var checkCode = document.getElementById("checkCode");
checkCode.value = "";

var selectChar = new Array(2,3,4,5,6,7,8,9,'A','B','C','D','E','F','G','H','J','K','L','M','N','P','Q','R','S','T','U','V','W','X','Y','Z');

for(var i=0;i<codeLength;i++) {
   var charIndex = Math.floor(Math.random()*32);
   code +=selectChar[charIndex];
}
if(code.length != codeLength){
   createCode();
}
checkCode.value = code;
}

function validate () {
var inputCode = document.getElementById("input1").value.toUpperCase();

if(inputCode.length <=0) {
   alert("误入验证码Q?);
   return false;
}
else if(inputCode != code ){
   alert("验证码输入错误!");
   createCode();
   return false;
}
else {
   alert("OK");
   return true;
}

}
</script>
</head>
<body onload="createCode();">
<input type="text" id="input1" />
<input type="text" id="checkCode" class="code" style="width: 55px" /> <a href="#" onclick="createCode()">看不清楚</a><br /><br />
<center><input id="Button1" onclick="validate();" type="button" value="定" /></center>
<script></script>
</body>
</html>

 



]]>
վ֩ģ壺 | | ̨| Ϳ| ɽ| ݳ| ʡ| | ʯɽ| | | | ƽ| | ʯ| | | | | | | ų| ԭ| | Ȩ| ƽ| | ޶| ¡Ң| Ϫ| ߱| ƽ| ɽ| ڶ| | | | ϸ| ͬ| ̨| |