word_create.jsp
上传用户:shjgzm
上传日期:2017-08-31
资源大小:2757k
文件大小:2k
源码类别:

Ajax

开发平台:

Java

  1. <%@ page contentType="text/plain; charset=UTF-8"%>
  2. <%@ page language="java"%>
  3. <%@ page import="java.util.*,java.sql.*,ajax.db.DBUtils"%>
  4. <%!
  5.     //创建新字符组合
  6.     String createWord() {
  7.         String word = null;                   //存放信息信息
  8.         String sql = "select word from words where length(word) <= 5 order by rand() limit 2";   //定义查询数据库的SQL语句
  9.         StringBuffer letters = new StringBuffer();
  10.         Connection conn = null;                 //声明Connection对象
  11.         PreparedStatement pstmt = null;         //声明PreparedStatement对象
  12.         ResultSet rs = null;                    //声明ResultSet对象
  13.         try {
  14.             conn = DBUtils.getConnection();     //获取数据库连接
  15.             pstmt = conn.prepareStatement(sql); //根据sql创建PreparedStatement
  16.             rs = pstmt.executeQuery();          //执行查询,返回结果集
  17.             while (rs.next()) {                 //遍历结果集
  18.                 letters.append(rs.getString(1));//将单词追加到StringBuffer对象
  19.             }
  20.         } catch (SQLException e) {
  21.             System.out.println(e.toString());
  22.         } finally {
  23.             DBUtils.close(rs);                  //关闭结果集
  24.             DBUtils.close(pstmt);               //关闭PreparedStatement
  25.             DBUtils.close(conn);                //关闭连接
  26.         }
  27.         word = parseLetter(letters.toString()); //解析字符串
  28.         return word;
  29.     }
  30.     //解析字符串,按升序返回不重复的字符
  31.     String parseLetter(String src) {
  32.         Set s = new TreeSet();                      //声明Set对象(TreeSet有排序功能)
  33.         //将字符串中字符加入Set对象
  34.         for (int i = 0; i < src.length(); i++) {
  35.             s.add(String.valueOf(src.charAt(i)));
  36.         }
  37.         StringBuffer result = new StringBuffer();   //声明保存结果的StringBuffer对象
  38.         //将Set中的字符串追加到StringBuffer对象中
  39.         Iterator it = s.iterator();
  40.         while (it.hasNext()) {
  41.             result.append((String) it.next());
  42.         }
  43.         return result.toString();                   //返回解析结果
  44.     }
  45. %>
  46. <%
  47.     out.clear();                                    //清空当前的输出内容(空格和换行符)
  48.     out.print(createWord());                        //新生成一个字符组合写入响应体
  49. %>