html頁面
代碼如下 |
複製代碼 |
<%@ page language="java" import="java.util.*,jform.Allclass" contentType="text/html;charset=gb2312"%> <jsp:useBean id="log" class="jBean.InsertMessage" scope="page"/> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>添加日誌</title> <link rel="stylesheet" href="../css/main.css" type="text/css" /> <script type="text/javascript"> function check_fir() { if (document.log.log_title.value== "") { window.alert("請填寫日誌標題!"); document.log.log_title.focus(); return (false); } if (document.log.showmen.value== "") { window.alert("請填寫日誌作者!"); document.log.showmen.focus(); return (false); } if (document.log.content.value== "") { window.alert("請填寫日誌內容!"); document.log.content.focus(); return (false); } if (document.log.log_title.length>2000 || document.log.log_title.length<16) { window.alert("請填寫您的使用者名稱!"); document.log.log_title.focus(); return (false); } } //建立XMLHttpRequest對象 function GetO() { var ajax=false; try { ajax = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { ajax = new ActiveXObject("Microsoft.XMLHTTP"); } catch (E) { ajax = false; } } if (!ajax && typeof XMLHttpRequest!='undefined') { ajax = new XMLHttpRequest(); } return ajax; } function getMyHTML(serverPage, objID) { var ajax = GetO(); //得到了一個html元素,在下面給這個元素的屬性賦值 var obj = document.all[objID]; //佈建要求方法及目標,並且設定為非同步提交 ajax.open("post", serverPage, true); ajax.onreadystatechange = function() { if (ajax.readyState == 4 && ajax.status == 200) { //innerHTML是HTML元素的屬性,如果您不理解屬性那就理解為HTML元素的變數 //ajax.responseText是伺服器的傳回值,把值賦給id=log_title_msg的元素的屬性 //innerHTML這個屬性或說這個變數表示一組開始標記和結束標記之間的內容 obj.innerHTML = ajax.responseText; } } //發送請求 ajax.send(null); } function checkLogTitle() { getMyHTML("logrepeat.jsp?log_title="+document.getElementById("log_title").value, "log_title_msg"); } //這個函數的作用是當使用者的焦點從其他地方回到log_title這個輸入框時再給屬性賦回原內容 function logTitleMsg(msg) { if(msg=='log_title_msg') { document.all[msg].innerHTML = "<div style='color:red;' align='left'>系統會自動判斷日誌標題是否重複,請關注此提示以避免發布重複文章。</div>"; } } </script> </head> <body> <form action="addlog.jsp" method="post" enctype="multipart/form-data" name="log" onSubmit="return check_fir()"> <table class="ta" width="600" border="0"> <tr> <td width="522" height="189" valign="top"><table width="600" border="0"> <tr> <td colspan="2" align="center"><strong>發表日誌</strong></td> </tr> <tr> <td width="60" align="left">日誌標題:</td> <td width="452" align="left"><input id="log_title" name="log_title" type="text"size="40" onBlur="javaScript:checkLogTitle();" onFocus="return logTitleMsg('log_title_msg');" /> <span id="log_title_msg" class="intro">*</span></td> </tr> <tr> <td align="left">日誌分類:</td> <td align="left"><select name="class_name"> <% Collection c=log.showLogClass(); Iterator it=c.iterator(); while(it.hasNext()) { Allclass log_class=(Allclass)it.next(); %> <option value="<%=log_class.getClassname()%>"><%=log_class.getClassname()%></option> <%}%> </select> <span class="intro">*</span> </td> </tr> <tr> <td align="left">發 布 人:</td> <td align="left"><input name="showmen" type="text" /></td> </tr> <tr> <td align="left">上傳檔案:</td> <td align="left"><input type="file" name="myfile" /> </td> </tr> <tr> <td height="1" colspan="2" align="left" bgcolor="00759b"></td> </tr> <tr> <td colspan="2" align="left">日誌內容:<span class="intro">(內容字數限制在2000字以內)</span></td> </tr> <tr> <td colspan="2" align="left" valign="top"><textarea class="content" rows="10" cols="50" name="log_content"></textarea></td> </tr> <tr> <td colspan="2" align="left"> <input name="Submit" type="submit" value="發布日誌"> <input name="reset" type="reset" id="reset" value="清除重寫"></td> </tr> </table></td> </tr> </table> </form> </body> </html> |
查重前台處理頁面logrepeat.jsp代碼如下
代碼如下 |
複製代碼 |
<%@ page language="java" import="java.util.Date" contentType="text/html; charset=gb2312"%> <jsp:directive.page import="com.jspsmart.upload.SmartUpload"/> <jsp:useBean id="addlog" class="jform.Addlog" scope="request"/> <jsp:useBean id="insert" class="jBean.InsertLog" scope="request"/> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>日誌上傳</title> </head> <body> <% String is=new String(request.getParameter("log_title").getBytes("ISO-8859-1"), "GBK"); try{ int isSave=insert.logRepeat(is); if (isSave==-1){ out.println("<div style='color:red;' align='left'>日誌重複!</div>"); } } catch(Exception ee){out.println("系統出錯");} %> </body> </html> |
日誌查重幕後處理檔案InsertLog.java代碼如下:
代碼如下 |
複製代碼 |
/* * 日誌查重 */ int isSave=1; public int logRepeat(String log_title) { ResultSet rs=null; Statement stm=null; StringBuffer sb = new StringBuffer(); //sb.append("select * from log_add where log_title = ").append("'"); //sb.append("這是一個測試的日誌3").append("'"); String sq="select * from log_add where log_title = ?"; //String sql="select * from log_add where log_title="; try{ stm= dd.con.createStatement(); pstm=dd.con.prepareStatement(sq); pstm.setString(1, log_title); rs=pstm.executeQuery(); //rs=stm.executeQuery(sb.toString()); //rs=stm.executeQuery(sq); //rs.next(); if(rs.next())isSave=-1; //System.out.println(sb.toString()); //System.out.println(log_title); //System.out.println(dd.con); } catch(Exception e){ System.out.print(e); } return isSave; }
|
上面使用的是N久前的js ajax來實現 了,現在我們可使用jquery+ajax/" target="_blank">jquery ajax來實現,在建立xmlhttp方便jquery ajax方便許多了。