tomcatの設定と、jsp/サーブレットの基礎知識まとめ
Advertisements
tomcatのHTTP受信ポートの設定は以下のファイルの設定をいじる。
C:\Program Files (x86)\Apache Software Foundation\apache-tomcat-6.0.35\conf\server.xml
<Connector port="8082" protocol="HTTP/1.1" useBodyEncodingForURI="true" URIEncoding="UTF-8" connectionTimeout="20000" redirectPort="8443" />
デフォルト8080で何かのポートと競合したため、ポート番号を8082変更した。
サーブレット/JSPのAPIはJavaSEに含まれていない。
そんため、サーブレット/JSPのJARファイルをクラスパスに設定する必要がある。
ユーザー環境変数にCLASSPATHという変数を新規に作成。
CLASSPATHに下記のjarのパスを記載
C:\Program Files (x86)\Apache Software Foundation\apache-tomcat-6.0.35\lib\servlet-api.jar;
C:\Program Files (x86)\Apache Software Foundation\apache-tomcat-6.0.35\lib\jsp-api.jar
システムの環境変数の
pathに%CLASSPATH%;を追加する。
コマンドプロンプトを再起動する。
Tomcatの起動
C:\Program Files (x86)\Apache Software Foundation\apache-tomcat-6.0.35\bin>startup.bat
Server startup in 1680 ms
などのメッセージが出たら起動完了
tomcatの停止はshutdown.bat
tomcat以下のディレクトリ構成
├─webapps │ ├─Chap1_1 │ │ └─WEB-INF │ │ ├─classes │ │ │ └─chap1 │ │ └─src │ │ └─chap1
webapps
コンテキストルート。この下にwebアプリケーションに必要なディレクトリ、ファイルを格納する。
WEB-INF
コンテキストルート直下に必ず置かなければならないディレクトリ。大文字半角で記述すること。
WEB-INFの直下にはweb.xmlを置く必要がある。
tomcatは起動時にweb.xmlをパース(解析)する。
web.xmlはサーブレットとURLの関連付けを行うXML文書である。
package chap1; import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class Sample1_1 extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException,IOException { PrintWriter out = response.getWriter(); out.println("<html>"); out.println("<body>"); out.println("<<h1> hello! </h1>"); out.println("<br>"); out.println("</body>"); out.println("</html>"); } }
web.xmlの記述
<?xml version="1.0" encoding="ISO-8859-1"?> <web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com./xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5"> <servlet> <servlet-name>Sample1_1</servlet-name> <servlet-class>chap1.Sample1_1</servlet-class> </servlet> <servlet-mapping> <servlet-name>Sample1_1</servlet-name> <url-pattern>/1_1</url-pattern> </servlet-mapping> </web-app>