#author("2016-06-11T23:47:16+09:00","default:Authors","Authors") ''[[TopPage]]'' * Webアプリ開発環境構築(Eclipse&Tomcat)とWARサンプルデプロイ 2016年6月11日 [#pa18678a] #author("2016-06-11T23:49:21+09:00","default:Authors","Authors") ** Eclipse [#pdc53191] + 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 [#n3eecff3] 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(); } } } ** 参考ページ [#edec934e] http://blogs.yahoo.co.jp/dk521123/34220519.html