postalcode.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.sql.*,ajax.db.DBUtils"%>
  4. <%!
  5.     //根据传入的邮编获取地区信息
  6.     String getAreaInfo(String postalCode) {
  7.         String areaInfo = null;
  8.         String sql = "select * from postalcode where code like ?";//定义查询数据库的SQL语句
  9.         Connection conn = null;                 //声明Connection对象
  10.         PreparedStatement pstmt = null;         //声明PreparedStatement对象
  11.         ResultSet rs = null;                    //声明ResultSet对象
  12.         try {
  13.             conn = DBUtils.getConnection();     //获取数据库连接
  14.             pstmt = conn.prepareStatement(sql); //根据sql创建PreparedStatement
  15.             pstmt.setString(1, postalCode);     //设置参数
  16.             rs = pstmt.executeQuery();          //执行查询,返回结果集
  17.             if (rs.next()) {
  18.                 areaInfo = rs.getString("area") + "|" + rs.getString("city");
  19.             } else {
  20.                 rs.close();
  21.                 //如果没有查询到地区信息,取邮编前4位补“00”继续查询
  22.                 pstmt.setString(1, postalCode.substring(0,4) + "00");
  23.                 rs = pstmt.executeQuery();
  24.                 if (rs.next()) {
  25.                     areaInfo = rs.getString("area") + "|" + rs.getString("city");
  26.                 }
  27.             }
  28.         } catch (SQLException e) {
  29.             System.out.println(e.toString());
  30.         } finally {
  31.             DBUtils.close(rs);         //关闭结果集
  32.             DBUtils.close(pstmt);      //关闭PreparedStatement
  33.             DBUtils.close(conn);       //关闭连接
  34.         }
  35.         return areaInfo;
  36.     }
  37. %>
  38. <%
  39.     out.clear();                                            //清空当前的输出内容(空格和换行符)
  40.     String postalCode = request.getParameter("postalCode"); //获取邮政编码
  41.     String areaInfo = getAreaInfo(postalCode);              //根据邮政编码获取地区信息
  42.     //如果获取失败,发回的响应将不包含任何内容
  43.     if (areaInfo == null) {
  44.         out.print("");
  45.     } else {
  46.         out.print(areaInfo);
  47.     }
  48. %>