java - 如何使用 JSP 和 JAVA 读取 URL

标签 java jsp

我有一个关于 JAVA 的疑问(直接从 URL 读取)。我想从 URL 读取内容。我刚刚用JAVA实现了一段代码,效果很好。但我希望该代码在 JSP 中实现。我尝试在 JSP 页面上使用它,但它不读取 URL 的内容。请帮帮我。

JAVA代码

import java.net.*;
import java.io.*;

public class URLReader {
    public static void main(String[] args) throws Exception {

        URL oracle = new URL("http://www.oracle.com/");
        BufferedReader in = new BufferedReader(
        new InputStreamReader(oracle.openStream()));

        String inputLine;
        while ((inputLine = in.readLine()) != null)
            System.out.println(inputLine);
        in.close();
    }
}

JSP代码

<%@ page import="java.sql.*,java.net.*,java.io.*,java.lang.*,java.util.*"%>
<html>
<title></title>
<head></head>
<body>

<%
try{
    URL oracle = new URL("http://www.oracle.com/");
    BufferedReader in = new BufferedReader(
    new InputStreamReader(oracle.openStream()));

    String inputLine;
    while ((inputLine = in.readLine()) != null)
        System.out.println(inputLine);
    in.close();
    }catch(Exception ex){}
%>
</body>
</html>

我使用的是 JDK1.5.0_16 和 Tomcat 版本 3.0

最佳答案

您在 JSP 中的错误是以下行:

System.out.println(inputLine);

这会将行打印到标准输出(控制台、日志文件等),而不是 HTTP 响应。

使用隐式out引用响应输出流的对象:

out.println(inputLine);

或者,更好的是,只需使用 JSTL <c:import> Scriptlets are namely discouraged since a decade

<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
...
<c:import url="http://www.oracle.com" />

不要忘记首先升级您古老的(这是轻描淡写的……)服务器。鉴于您正在以老式方式摆弄 JSP,我还想知道您是否正在阅读 学习 JSP 时获得正确且最新的资源。

关于java - 如何使用 JSP 和 JAVA 读取 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14085343/

相关文章:

java - int 数组的循环优化

java - Vaadin MySQL 获取

java - jsf 应用程序中的 org.apache.jasper.JasperException

java - 如何使数据库更改导致 Web 客户端 View 的更新

java.lang.ClassNotFoundException : com. mysql.jdbc.驱动程序错误

java - 内部迭代的好处

java - 为什么 EnumMap 构造函数需要类参数?

java - 获取并发修改异常。哪里有问题? (代码)

java - 我应该在哪里转义 HTML 字符串、JSP 页面或 Servlet?

java - <c :set>? 的 JSP 2 版本是什么