※ ChatGPTを利用し、要約された質問です(原文:tomcat上のservletからapache上のhtmlへ)
tomcat上のservletからapache上のhtmlへ
このQ&Aのポイント
tomcat上のservletからapache上のhtmlに値を渡し表示させる方法について
現在tomcatにrss.javaファイルがあり、これをコンパイルしてservletとして利用しています。また、apache上にはrss.htmlファイルがあります。servletからhtmlに値を渡し表示させるための方法を教えてください。
servletとhtmlの連携方法について教えてください。現在、tomcat上のservletからapache上のhtmlに値を渡し表示させたいのですが、うまくいきません。解決策をお知らせください。
tomcat上のservletからapache上のhtmlへ
現在tomcatにrss.java(コンパイル後class)
と言うファイルがあります。
rss.java
-------------------------------------------
package to.msn.wings.chap4;
import java.io.IOException;
import java.net.URL;
import java.util.HashMap;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.sun.syndication.feed.synd.SyndEntry;
import com.sun.syndication.feed.synd.SyndFeed;
import com.sun.syndication.fetcher.FeedFetcher;
import com.sun.syndication.fetcher.impl.HttpURLFeedFetcher;
public class RssParse extends HttpServlet {
private static final String URL= "http://honyararahonyarara/index20.rdf";
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
FeedFetcher ff = new HttpURLFeedFetcher();
SyndFeed feed=null;
try {
feed = ff.retrieveFeed(new URL(URL));
} catch (Exception e) {
throw new ServletException(e);
}
HashMap<String, String> map = new HashMap<String,String>();
for(SyndEntry entry : (List<SyndEntry>)feed.getEntries()){
map.put(entry.getTitle(), entry.getLink());
}
request.setAttribute("feed", map);
this.getServletContext().getRequestDispatcher("http://localhost/html/rss.html").forward(request,response);
}
}
-------------------------------------------
またapache上にrss.htmlと言うファイルがあります。
rss.html
-------------------------------------------
<html>
<head>
<title>RSS情報の展開</title>
</head>
<body>
<h1 style="color:white;background-color:#525D76;font-size:22px;">
RSS情報の展開</h1>
<ul>
<c:forEach var="item" items="${requestScope['feed']}">
<li><a href="${item['value']}">${item['key']}</a></li>
</c:forEach>
</ul>
</body>
</html>
-------------------------------------------
tomcat上のservletからapache上のhtmlに値を渡し
表示させたいのですがうまくいきません。
お心当たりある方がいらっしゃいましたら
書込みをお願い致します。
お礼
ご回答ありがとうございます! >jspファイルはHTML記述+Java文法が使えます。主に表示機能を司るのが目的ですよね、つまり結果的にhtmlの文言をクライアントPCに返すわけです。 なるほど、表示機能はjspなんですね。 apacheとtomcatを連携させる理由がよくわからず 今回の質問に至りました。 結果として以下のようにしたら表示できました。 tomcatに配置 rss.class rss.jsp apacheに配置 1.html 2.html(php使用) 3.html それぞれ4ページをリンクで結んでいます。 phpとservletを同時に使いたいと言うのも あってうまく質問できませんでしたorz 今後はjspの基本から勉強したいと思います。 わかりにくい質問にご回答下さり ありがとうございました!