天天看點

jsp登入驗證代碼

  1. image.jsp?ㄤ??????闆???劇??
  2. ????<%@pagecontentType="image/jpeg;charset=gb2312"import="java.awt.*,
  3. ????java.awt.image.*,java.util.*,javax.imageio.*"%>
  4. ????<%!
  5. ????ColorgetRandColor(intfc,intbc){//缁?瀹????磋?峰????洪???
  6. ????Randomrandom=newRandom();
  7. ????if(fc>255)fc=255;
  8. ????if(bc>255)bc=255;
  9. ????intr=fc+random.nextInt(bc-fc);
  10. ????intg=fc+random.nextInt(bc-fc);
  11. ????intb=fc+random.nextInt(bc-fc);
  12. ????returnnewColor(r,g,b);
  13. ????}
  14. ????%>
  15. ????<%
  16. ????//璁劇疆椤甸???缂?瀛?
  17. ????response.setHeader("Pragma","No-cache");
  18. ????response.setHeader("Cache-Control","no-cache");
  19. ????response.setDateHeader("Expires",0);
  20. ????//?ㄥ??瀛?涓???寤哄?捐薄
  21. ????intwidth=60,height=20;
  22. ????BufferedImageimage=newBufferedImage(width,height,BufferedImage.TYPE_INT_RGB);
  23. ????//?峰???懼艦涓?涓???
  24. ????Graphicsg=image.getGraphics();
  25. ????//???????虹被
  26. ????Randomrandom=newRandom();
  27. ????//璁懼????????
  28. ????g.setColor(getRandColor(200,250));
  29. ????g.fillRect(0,0,width,height);
  30. ????//璁懼??瀛?浣?
  31. ????g.setFont(newFont("TimesNewRoman",Font.PLAIN,18));
  32. ????//?昏竟妗?
  33. ????//g.setColor(newColor());
  34. ????//g.drawRect(0,0,width-1,height-1);
  35. ????//???轟駭??155?″共?扮嚎锛?浣垮?捐薄涓???璁よ????涓???琚??跺??绋?搴??㈡???
  36. ????g.setColor(getRandColor(160,200));
  37. ????for(inti=0;i<155;i++)
  38. ????{
  39. ????intx=random.nextInt(width);
  40. ????inty=random.nextInt(height);
  41. ????intxl=random.nextInt(12);
  42. ????intyl=random.nextInt(12);
  43. ????g.drawLine(x,y,x+xl,y+yl);
  44. ????}
  45. ????//?????轟駭????璁よ????(4浣??闆??)
  46. ????StringsRand="";
  47. ????Stringrand="";
  48. ????for(inti=0;i<4;i++){
  49. ????rand=String.valueOf(random.nextInt(10));
  50. ????sRand+=rand;
  51. ????//灏?璁よ?????劇ず?闆?捐薄涓?
  52. ????g.setColor(newColor(20+random.nextInt(110),20+random.nextInt(110),20+random.nextInt(110)));
  53. ????//璋??ㄥ?芥?闆?烘?ョ??棰??茬?稿??锛????芥????涓虹?瀛?澶??ヨ?锛???浠ュ???界?存?ョ????
  54. ????g.drawString(rand,13*i+6,16);
  55. ????}
  56. ????//?捐薄????
  57. ????g.dispose();
  58. ????//灏?璁よ????瀛???ESSION
  59. ????session.setAttribute("random",sRand);
  60. ????//杈??哄?捐薄?伴〉??
  61. ????ImageIO.write(image,"JPEG",response.getOutputStream());
  62. ????%>
  63. ??login.jsp?ㄤ?杩??ョ?婚???????
  64. ????<%@pagecontentType="text/html;charset=gb2312"language="java"errorPage=""%>
  65. ????<!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
  66. ????<%
  67. ????StringUsername=request.getParameter("Username");
  68. ????StringPassword=request.getParameter("Password");
  69. ????Stringinput=request.getParameter("rand");
  70. ????if(Username!=null&&Password!=null)
  71. ????{
  72. ????//???ㄦ?峰????瀵???淇?瀛???ession涓?
  73. ????session.setAttribute("user_name",Username);
  74. ????session.setAttribute("pass_word",Password);
  75. ????session.setAttribute("input",input);
  76. ????//楠?璇??ㄦ?瘋??ョ??楠?璇????????g‘
  77. ????if(input.equals(session.getAttribute("random")))
  78. ????{
  79. ????//濡???姝g‘灏辮煩杞???heck.jsp楠?璇??ㄦ?峰??瀵???
  80. ????response.sendRedirect("check.jsp");
  81. ????}
  82. ????else
  83. ????{
  84. ????//楠?璇???涓?姝g‘
  85. ????out.print("??璇?");
  86. ????//JOptionPane.showMessageDialog(null,"璇烽???╂??浠訛?","??绀?,JOptionPane.ERROR_MESSAGE);
  87. ????}
  88. ????}
  89. ????%>
  90. ????<scripttype="text/javascript">
  91. ????functioncheck()
  92. ????{
  93. ????if(form.Username.value=="")
  94. ????{
  95. ????alert("璇瘋??ョ?ㄦ?峰??!!!");
  96. ????form.Username.focus();
  97. ????returnfalse;
  98. ????}
  99. ????if(form.Password.value=="")
  100. ????{
  101. ????alert("璇瘋??ュ????!!!");
  102. ????form.Username.focus();
  103. ????returnfalse;
  104. ????}
  105. ????}
  106. </SCRIPT>
  107. ????<html>
  108. ????<HEAD>
  109. ????<title>?ㄦ?風?婚??</title>
  110. ????</HEAD>
  111. ????<BODY>
  112. ????<formname="form"onsubmit="returncheck()"action="login.jsp"method="post">
  113. ????<TABLEwidth=265align=centerborder=0>
  114. ????<TBODY>
  115. ????<TRalign=centervalign="middle">
  116. ????<TDcolspan="2">
  117. ????<STRONG>?誨?</STRONG>
  118. ????</TD>
  119. ????</TR>
  120. ????<tr>
  121. ????<tdheight="54"align="center">?ㄦ?峰??锛?</td>
  122. ????<tdwidth="181"height=54>
  123. ????<inputid=Usernamename=Username>
  124. ????</TD>
  125. ????</TR>
  126. ????<tr>
  127. ????<tdheight="54"align="center">瀵???锛?</td>
  128. ????<tdwidth="181"height=54>
  129. ????<inputid=Passwordtype=Passwordname=Password>
  130. ????</TD>
  131. ????</TR>
  132. ????<tr>
  133. ????<tdheight="54"align="center">璁よ????锛?</td>
  134. ????<tdwidth="181"height=54>
  135. ????<inputtype=textname=randmaxlength=4value=""size=6>
  136. ????&nbsp;&nbsp;
  137. ????<imgborder=1src="image.jsp">
  138. ????</td>
  139. ????</tr>
  140. ????<TR>
  141. ????<TDcolspan="2"align=center>
  142. ????<INPUTtype=submitvalue=?婚??>
  143. ????<INPUTtype=resetvalue=??缃?>
  144. ????</TD>
  145. ????</TR>
  146. ????</TBODY>
  147. ????</TABLE>
  148. ????</FORM>
  149. ????</BODY>
  150. ????</HTML>
  151. ????check.jsp?ㄤ?娴?璇?????????锛?
  152. ????<%@pagecontentType="text/html;charset=gb2312"language="java"errorPage=""%>
  153. ????<%@pageimport="java.sql.*"%>
  154. ????<jsp:useBeanid="sqltest"class="database.sqlbean"scope="page">
  155. ????</jsp:useBean>
  156. ????<html>
  157. ????<head>
  158. ????<title>璁よ????楠?璇?椤甸??lt;/title>
  159. ????<metahttp-equiv="Content-Type"content="text/html;charset=gb2312">
  160. ????<METAHTTP-EQUIV="Pragma"CONTENT="no-cache">
  161. ????<METAHTTP-EQUIV="Cache-Control"CONTENT="no-cache">
  162. ????<METAHTTP-EQUIV="Expires"CONTENT="0">
  163. ????</head>
  164. ????<body>
  165. ????<%
  166. ????Stringrand=(String)session.getAttribute("random");
  167. ????Stringinput=(String)session.getAttribute("input");
  168. ????Stringuser_name=(String)session.getAttribute("user_name");
  169. ????Stringpass_word=(String)session.getAttribute("pass_word");
  170. ????%>
  171. ????绯葷?浜х????璁よ????涓猴?
  172. ????<%=rand%><br>
  173. ?????ㄨ??ョ??璁よ????涓猴?
  174. ????<%=input%><br>
  175. ????<fontcolor=green>楠?璇???杈??ョ?稿??锛?璁よ??????锛?</font><br>
  176. ????<br>
  177. ?????ㄨ??ョ???ㄦ?峰??涓猴?
  178. ????<%=session.getAttribute("user_name")%><br>
  179. ????瀵???涓猴?
  180. ????<%=session.getAttribute("pass_word")%><br>
  181. <%
  182. ????Stringpermit;
  183. ????ResultSetrs=null;
  184. ????StringSqlString="select*fromUserInfowhereusername='"+user_name+"'andpassword='"+pass_word+"'";
  185. ????try
  186. ????{
  187. ????//璁劇疆杩???
  188. ????sqltest.setConnection("com.microsoft.jdbc.sqlserver.SQLServerDriver",
  189. ????"jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=university",
  190. ????"admin","123456");
  191. ????//璁劇疆SQL璇???
  192. ????sqltest.setQuerystatement(SqlString);
  193. ????//寰??版?ヨ?㈢???
  194. ????rs=sqltest.getResult();
  195. ????if(rs.next())
  196. ????{
  197. ????out.print("?婚??????");
  198. ????//?峰??ㄦ?風??????
  199. ????permit=rs.getString("permit");
  200. ????if(permit.equals("1"))
  201. ????{
  202. ????out.println(":浣?????????绠$????缁?");
  203. ????}
  204. ????else
  205. ????{
  206. ????out.println(":浣??????????ㄦ?風?");
  207. ????}
  208. ????}
  209. ????else
  210. ????{
  211. ????out.print("?婚??澶辮觸,?ㄦ?峰????瀵?????");
  212. ????}
  213. ????}
  214. ????catch(SQLExceptione1)
  215. ????{
  216. ????out.print("SQL寮?甯革?");
  217. ????}
  218. ????%>
  219. ????</body>
  220. ????</html>
  221. ????杩??ユ?版??搴???Javabean:sqlbean.java
  222. ????packagedatabase;
  223. ????importjava.sql.*;
  224. ????publicclasssqlbean{
  225. ????publicStringquery_statement;
  226. ????publicResultSetresult=null;
  227. ????publicConnectionconn;
  228. ????publicvoidsetQuerystatement(Stringquery_statement)
  229. ????{
  230. ????this.query_statement=query_statement;
  231. ????}
  232. ????publicvoidsetConnection(StringdriverName,StringjdbcURL,
  233. ????Stringusername,Stringpasswd)throwsException
  234. ????{
  235. ????Connectionconn1;
  236. ????Class.forName(driverName);
  237. ????conn1=DriverManager.getConnection(jdbcURL,username,passwd);
  238. ????conn1.setAutoCommit(false);
  239. ????this.conn=conn1;
  240. ????}
  241. ????publicResultSetgetResult()
  242. ????{
  243. ????try
  244. ????{
  245. ????PreparedStatementselect_stm=conn.prepareStatement(query_statement,
  246. ????java.sql.ResultSet.TYPE_SCROLL_INSENSITIVE,java.sql.ResultSet.CONCUR_READ_ONLY);
  247. ????result=select_stm.executeQuery();
  248. ????}
  249. ????catch(Exceptione)
  250. ????{
  251. ????System.out.println(e);
  252. ????}
  253. ????returnresult;
  254. ????}
  255. ????}

?????鴻?? ???垮?¤揪?? ??瀹??璇峰?″?淇???姝ゅ?哄?http://shamrock.blog.51cto.com/2079212/702554