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

Ajax

开发平台:

Java

  1. <%@ page contentType="text/html; charset=UTF-8"%>
  2. <%@ page language="java"%>
  3. <%@ page import="java.sql.*,ajax.db.DBUtils"%>
  4. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  5. <html>
  6. <head>
  7. <meta http-equiv="Content-type" content="text/html; charset=utf-8">
  8. <title>天气情况查询</title>
  9. <style type="text/css">
  10. /* 页面字体样式 */
  11. body, td, input, select {
  12.     font-family:Arial;
  13.     font-size:12px;
  14. }
  15. /* 表格基本样式 */
  16. table.default {
  17.     border-collapse:collapse;
  18.     width:300px;
  19. }
  20. /* 表格单元格样式 */
  21. table.default td {
  22.     border:1px solid black;
  23.     padding:3px;
  24.     height:30px;
  25. }
  26. /* 列头样式 */
  27. table.default td.item {
  28.     background:#006699;
  29.     color:#fff;
  30. }
  31. </style>
  32. <script type="text/javascript">
  33. var xmlHttp;    //用于保存XMLHttpRequest对象的全局变量
  34. //用于创建XMLHttpRequest对象
  35. function createXmlHttp() {
  36.     //根据window.XMLHttpRequest对象是否存在使用不同的创建方式
  37.     if (window.XMLHttpRequest) {
  38.        xmlHttp = new XMLHttpRequest();                  //FireFox、Opera等浏览器支持的创建方式
  39.     } else {
  40.        xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");//IE浏览器支持的创建方式
  41.     }
  42. }
  43. //加载天气信息
  44. function loadWeather(cityCode) {
  45.     if (cityCode != "") {
  46.         createXmlHttp();                                    //创建XmlHttpRequest对象
  47.         xmlHttp.onreadystatechange = loadWeatherCallback;   //设置回调函数
  48.         xmlHttp.open("GET", "weather.jsp?cityCode=" + cityCode, true);
  49.         xmlHttp.send(null);
  50.     }
  51. }
  52. //加载天气信息的回调函数
  53. function loadWeatherCallback() {
  54.     if (xmlHttp.readyState == 4) {
  55.         var weatherInfo = eval("(" + xmlHttp.responseText + ")");   //解析JSON格式的服务器响应
  56.         //遍历JSON对象,将信息写入页面
  57.         for (o in weatherInfo) {
  58.             document.getElementById(o).innerHTML = weatherInfo[o];
  59.         }
  60.     }
  61. }
  62. </script>
  63. </head>
  64. <body>
  65. <h1>天气情况查询</h1>
  66. <select id="citySel" onchange="loadWeather(this.value)">
  67. <option value="">--请选择城市--</option>
  68. <%
  69.     String sql = "select code, name, chinese from weather_citycode order by name asc";   //定义查询数据库的SQL语句
  70.     Connection conn = null;                 //声明Connection对象
  71.     PreparedStatement pstmt = null;         //声明PreparedStatement对象
  72.     ResultSet rs = null;                    //声明ResultSet对象
  73.     try {
  74.         conn = DBUtils.getConnection();     //获取数据库连接
  75.         pstmt = conn.prepareStatement(sql); //根据sql创建PreparedStatement
  76.         rs = pstmt.executeQuery();          //执行查询,返回结果集
  77.         while (rs.next()) {                 //遍历结果集
  78.             %>
  79.             <option value="<%=rs.getString("code")%>"><%=rs.getString("name")%> [<%=rs.getString("chinese")%>]</option>
  80.             <%
  81.         }
  82.     } catch (SQLException e) {
  83.         System.out.println(e.toString());
  84.     } finally {
  85.         DBUtils.close(rs);                  //关闭结果集
  86.         DBUtils.close(pstmt);               //关闭PreparedStatement
  87.         DBUtils.close(conn);                //关闭连接
  88.     }
  89. %>
  90. </select>
  91. <table class="default">
  92. <tr>
  93. <td class="item" width="35%">天气状况:</td>
  94. <td width="65%" id="condition"></td>
  95. </tr>
  96. <tr>
  97. <td class="item">最后更新日期:</td>
  98. <td id="lastBuildDate"></td>
  99. </tr>
  100. <tr>
  101. <td class="item">感觉气温:</td>
  102. <td id="chill"></td>
  103. </tr>
  104. <tr>
  105. <td class="item">实际气温:</td>
  106. <td id="temp"></td>
  107. </tr>
  108. <tr>
  109. <td class="item">最低气温:</td>
  110. <td id="low"></td>
  111. </tr>
  112. <tr>
  113. <td class="item">最高气温:</td>
  114. <td id="high"></td>
  115. </tr>
  116. <tr>
  117. <td class="item">风向:</td>
  118. <td id="direction"></td>
  119. </tr>
  120. <tr>
  121. <td class="item">风速:</td>
  122. <td id="speed"></td>
  123. </tr>
  124. <tr>
  125. <td class="item">湿度:</td>
  126. <td id="humidity"></td>
  127. </tr>
  128. <tr>
  129. <td class="item">能见度:</td>
  130. <td id="visibility"></td>
  131. </tr>
  132. <tr>
  133. <td class="item">日出:</td>
  134. <td id="sunrise"></td>
  135. </tr>
  136. <tr>
  137. <td class="item">日落:</td>
  138. <td id="sunset"></td>
  139. </tr>
  140. </table>
  141. </body>
  142. </html>