2016-10-18 14 views
0

私はJSP言語でコーディングしていますが、私はこれをjavaサーブレットで行う必要があります。私は、ユーザーが入力したURLを取得するためにJavaプログラム(サーブレット)の中に方法があります。私は文字列の中にURLを格納しました。それでは、URLまたはウェブサイトからページタイトル情報を取得するだけです。基本的には、URLからhtmlコード内にタイトルタグを入れたいと思っています。私はこれをやったことがないので、誰かが私にこれをどうやって指し示すことができるか疑問に思っていました。例えばJavaのURLからページタイトル情報を取得するにはどうすればよいですか?

は、私はhtmlコードを見ると、それはhtmlコードに示すように、それは、「WebページのHTMLソースコードを表示する方法」のショー私はhttp://www.computerhope.com/issues/ch000746.htm

からページタイトルを取得したいと言うことができます。 WebページのHTMLソースコード< /タイトル>

を表示する方法

<タイトル>それでは、どのように私はJavaプログラム内でそのアクセスすることができるだろうか?

+1

タイトルはURLの一部ではなく、実際のHTMLページの一部です。だから、あなたはHTMLページを読む必要があります。 –

+0

ありがとう。情報にアクセスするために、URLconnectionというクラスを使用する必要があるかのように見えます。 – Sarah

+0

MKYongチュートリアルを見て始めてみましょう。 –

答えて

2

これを試してください。

import java.io.IOException; 
import java.io.InputStream; 
import java.net.URL; 
import java.util.Scanner; 

public class URLTest { 

public static void main(String[] args) { 
    InputStream response = null; 
    try { 
     String url = "http://www.google.com"; 
     response = new URL(url).openStream(); 


     Scanner scanner = new Scanner(response); 
     String responseBody = scanner.useDelimiter("\\A").next(); 
     System.out.println(responseBody.substring(responseBody.indexOf("<title>") + 7, responseBody.indexOf("</title>"))); 

    } catch (IOException ex) { 
     ex.printStackTrace(); 
    } finally { 
     try { 
      response.close(); 
     } catch (IOException ex) { 
      ex.printStackTrace(); 
     } 
    } 
} 
} 
+0

これは魅力のように機能します。どうもありがとう!私は今それをやる方法を理解していると思う。 – Sarah

1

あなたはjavascriptを使用して、HTML page titleの値をフェッチし、hidden form fieldにその値を設定し、後に以下のようにHTTP request parameterからその値を取得することができます。

HTMLページ:

<!DOCTYPE html> 
<html> 
<head> 
<meta charset="ISO-8859-1"> 
<title>My page</title> 
</head> 
<body> 
<form action="a" onsubmit="return setPageTitle()" method="post"> 
    <input type="hidden" name="pageTitle" id="pageTitle"> 
    <input type="submit" value="Go"/> 
</form> 
<script type="text/javascript"> 
    function setPageTitle(){ 
    document.getElementById("pageTitle").value=document.title; 
    } 
</script> 
</body> 
</html> 

サーブレットコード:

String title=request.getParameter("pageTitle"); 
関連する問題