⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 weather.jsp

📁 完整的一个论坛,安装方法如下: 1、系统环境要求: MySQL4.1以上版本
💻 JSP
字号:
<%@ page contentType="text/html; charset=utf-8" %>
<%@ page import="java.util.*"%>
<%@ page import="cn.js.fan.util.*"%>
<%@ page import="com.redmoon.forum.miniplugin.*"%>
<%@ page import="com.redmoon.forum.miniplugin.weather.*"%>
<%@ page import="com.redmoon.forum.*"%>
<%@ page import="java.io.BufferedReader"%>
<%@ page import="java.io.InputStreamReader"%>
<%@ page import="java.net.URL"%>
<%@ page import="java.net.HttpURLConnection"%>
<%@ page import="java.util.regex.Pattern"%>
<%@ page import="java.util.regex.Matcher"%>
<%!
    /**
     * 获取一个网页的内容
     * @param link String
     * @return String
     */
    public String gather(String link) {
        String str = "";
        try {
            URL url = new URL(link);
            HttpURLConnection huc = (HttpURLConnection) url.openConnection();
            // logger.error("url=" + url + " encode:"+huc.getContentEncoding()+" type:"+huc.getContentType());
            String type = huc.getContentType();
            String charset = "utf-8";
            int index = type.indexOf("charset=");
            if (index != -1) {
                index = index + 8;
                charset = type.substring(index).trim();
            } else
                charset = "gb2312";

            BufferedReader reader = new BufferedReader(
                    new InputStreamReader(huc.getInputStream(), charset));
            String line = reader.readLine();
            while (line != null) {
                str += line;
                line = reader.readLine();
            }
            reader.close();
            huc.disconnect();
        } catch (Exception e) {
            // logger.error("gather: " + e.getMessage());
        }
        return str;
    }

    public String getWeather() {
        String content = gather("http://weather.news.qq.com/inc/ss59.htm");
        return parseWeatherQQ(content);
    }
	
    public String parseWeatherQQ(String content) {
        String patternStr = "";
        Pattern pattern;
        Matcher matcher;
        String str = "";

        patternStr = "<table width=\\\"189\\\" border=\\\"0\\\" cellspacing=\\\"0\\\" cellpadding=\\\"0\\\" background.*?height=\\\"3\\\"></td></tr>";
        // patternStr = "<table cellSpacing=\\\"0\\\" cellPadding=\\\"0\\\" width=\\\"189\\\".*        </table>";
        pattern = Pattern.compile(patternStr, Pattern.DOTALL);
        matcher = pattern.matcher(content);
        // System.out.println(getClass() + " content=" + content);
        // 提取今日的天气
        if (matcher.find()) {
            str = matcher.group(0);
            str = str + "</table>";
            // logger.info("str=" + str);
            str = str.replaceAll("width=\\\"189\\\"",
                                 "width=100%");

            // 替换表格背景
            str = str.replaceAll("background=\"/images/r_tembg2.gif\"", "class='font12'");

            // 替换第一行的标头背景(灰色),左侧
            str = str.replaceAll("background=\"/images/r_tembg4.gif\"", "");
			
			// 替换行的背景
			str = str.replaceAll("background=\"*.?gif\"", "");
			str = str.replaceAll("weather", "");

            // 替换第一行的标头背景(灰色),右侧
            str = str.replaceAll("background=\"/images/r_tembg5.gif\"", "");

            // 去除第一列的列宽
            str = str.replaceAll("width=\"72\"", "width=50%");

            // 去除第二列的列宽
            str = str.replaceAll("width=\"117\"", "width=50%");

            // 去除顶部的图片
            str = str.replaceAll("<tr><td colspan=\"2\"><img src=\"/images/r_tembg1.gif\" width=100% height=\"6\"></td>", "");

            // 去除底部的图片
            str = str.replaceAll("<tr><td colspan=\"2\"><img src=\"/images/r_tembg3.gif\" width=100% height=\"3\"></td></tr>", "");

            // 替换列高
            // str = str.replaceAll("<td height=\"20\">", "<td height=0>");
            // 替换图片
            str = str.replaceAll("/images", "http://weather.news.qq.com/images");

        }
        return str;
    }	
%>
<style>
.font12 {
	font-size: 12px;
}
</style>
<%
String content = getWeather();
out.print(content);
%>                               
  

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -