TopPage
Webアプリ開発環境構築(Eclipse&Tomcat)とWARサンプルデプロイ 2016年6月11日 †
Eclipse †
- JDKとJREのインストール
ダウンロードページ: http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
- インストールしたX:\XXXX\[jdkルート]\binにpathを通す
- 新規システム環境変数、JAVA_HOMEを作成し、インストールしたX:\XXXX\[jdkルート]\binを設定する
- 新規システム環境変数、JRE_HOMEを作成し、インストールしたX:\XXXX\[jreルート]を設定する
- Eclipseのインストール
ダウンロードページ: http://www.oracle.com/technetwork/developer-tools/eclipse/downloads/oepe-12131-2228123.html
- Tomcatのインストール
ダウンロードページ: http://tomcat.apache.org/download-80.cgi
- ポート番号を変えたい場合はX:\XXXX\[tomcatルート]\conf\server.xmlを編集する
- サンプルWARのダウンロード
- benefits.war: http://www.oracle.com/webfolder/technetwork/jp/obe/fusion_middleware/wls103/appdeploy/deploy/deploy_apps/deploy_apps.htm
- Eclipseを起動し、サンプルWARをインポートする
- File→Import→Web→WAR File
- そのままだとjavax.servlet.*がみつからないと怒られるので、プロジェクトを右クリック、Properties→Java Build Path→Add External JARs...→「tomcatルート」\lib配下のservlet-api.jarを追加
- "BenefitsServlet?.java"なんかを適当に編集する。
- デプロイ~テスト
- プロジェクト右クリック→Export→WAR FileでWARファイル作成
- X:\XXXX\[tomcatルート]\webapps配下にWARファイルを配置し、X:\XXXX\[tomcatルート]\bin\startup.batを叩く
- http://127.0.0.1:8080/benefitsへアクセスして動作確認できる。
- サンプルコード
例として、http://bj006.comからHTTP GETした結果をそのまま表示するservletの動作確認用javaを以下に示す
GetInformation?ボタンを押せばservletに処理が渡る。
BenefitsServlet?.java †
package com.dizzyworld;
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
//import java.util.Enumeration;
import java.net.*;
public class BenefitsServlet extends HttpServlet {
public void service(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException {
// ServletOutputStream out = response.getOutputStream();
//
// String[] benefitNames = request.getParameterValues("benefit");
//
// response.setContentType("text/html");
// for (String benefit : benefitNames) {
// if (benefit.equals("vacation")) {
// RequestDispatcher rd = request.getRequestDispatcher("company.jsp");
// rd.include(request, response);
// continue;
// }
// if (benefit.equals("health")) {
// RequestDispatcher rd = request.getRequestDispatcher("health.jsp");
// rd.include(request, response);
// continue;
// }
// if (benefit.equals("vision")) {
// RequestDispatcher rd = request.getRequestDispatcher("vision.jsp");
// rd.include(request, response);
// continue;
// }
// if (benefit.equals("dental")) {
// RequestDispatcher rd = request.getRequestDispatcher("dental.jsp");
// rd.include(request, response);
// continue;
// }
// }
//
// out.print("<BR><A HREF='./welcome.html'>Back To Home Page</A><BR>");
PrintWriter out = response.getWriter();
URL url = new URL("http://bj006.com");
HttpURLConnection con = (HttpURLConnection)url.openConnection();
con.setRequestMethod("GET");
con.connect();
response.setContentType("text/html;charset=Shift_JIS");
BufferedReader reader =
new BufferedReader(new InputStreamReader
(con.getInputStream(), "JISAutoDetect"));
String buffer = reader.readLine();
System.out.println("accessed");
while (null != buffer) {
out.println(buffer);
buffer = reader.readLine();
}
}
}
参考ページ †
http://blogs.yahoo.co.jp/dk521123/34220519.html