#author("2025-09-30T08:37:28+00:00","default:iseki","iseki")
#author("2025-09-30T08:39:30+00:00","default:iseki","iseki")
* Servlet sample

- サンプル1: https://polaris.star-dust.jp/Linux/tomcat/sample/Hell_JSP_Servlet.html
- サンプル2: https://polaris.star-dust.jp/Linux/tomcat/sample/99_JSP_Servlet.html
** Attention!!
*** jakarta.servlet.*
- Tomcat 10 以降は javax.servlet.* ではなく ''jakarta.servlet.*'' に移行
** HelloServ

*** WEB-INF/src/HelloServ.java
<pre>
 import  java.io.*;
 import  javax.servlet.*;
 import  javax.servlet.http.*;
 import  java.util.Date;
 
 public class HelloServ extends HttpServlet {
     public void doGet(HttpServletRequest request, HttpServletResponse response)
     throws IOException, ServletException {
         response.setContentType("text/html; charset=UTF-8");
         PrintWriter out = response.getWriter();
         Date time = new Date();
 
         out.println("<html>");
         out.println("<head><title> Wellcom to Servlet Hell World</title></head>");
 
         out.println("<body>");
         out.println("<font color=#10c010>");
         out.println("<h2>");
         out.println("ようそこ.地獄のServletワールドへ!!");
         out.println("<br /><br />");
         out.println("ただいまの時刻は "+time+" です.");
         out.println("<br />");
         out.println("</h2>");
         out.println("</font>");
         out.println("</body>");
 
         out.println("</html>");
     }
 }
</pre>

*** Compile
 javac -d classes -classpath /usr/local/tomcat/lib/servlet-api.jar src/HelloServ.java

*** WEB-INF/web.xml
**** 配置記述子
- URLと実際のクラスファイルを結びつける.
- 下記例では URL /Hello が HelloServ.class に結び付けられる
-- /Hello -> Welcome_to_HellServ -> HelloServ
- servletタグ は必ず servlet-mappingタグ に先行する
- 下記例では URL ''/Hello'' が ''HelloServ.class'' に結び付けられる
-- ''/Hello'' -> ''Welcome_to_HellServ'' -> ''HelloServ''
- ''servlet'' タグ は必ず ''servlet-mapping'' タグ に先行する

<pre>
 <?xml version="1.0" encoding="ISO-8859-1"?>
 
 <!DOCTYPE web-app
     PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
     "http://java.sun.com/dtd/web-app_2_3.dtd">
 
 <web-app>
     <servlet>
         <servlet-name>Welcome_to_HellServ</servlet-name>
         <servlet-class>HelloServ</servlet-class>
     </servlet>
 
     <servlet-mapping>
         <url-pattern>/Hello</url-pattern>
         <servlet-name>Welcome_to_HellServ</servlet-name>
     </servlet-mapping>
 </web-app>
</pre>

** mTable
*** WEB-INF/src/mTable.java
<pre>
import  java.io.*;
import  javax.servlet.*;
import  javax.servlet.http.*;

public class mTable extends HttpServlet {
        public void doGet(HttpServletRequest request, HttpServletResponse response)
        throws IOException, ServletException {
                response.setContentType("text/html; charset=UTF-8");
                PrintWriter out = response.getWriter();

                out.println("<html>");
                out.println("<head><title>Hello</title></head>");
                out.println("<body>");
                out.println("<h1> 九九のプログラム (Servlet)</h1>");
                out.println("<table border=1>");

                for (int i=1; i<=9; i++) {
                        out.println("<tr>");
                        for (int j=1; j<=9; j++) {
                                out.println("<td>"+i+" × "+j+" = "+i*j+"<td>");
                        }
                        out.println("</tr>");
                }

                out.println("</table>");
                out.println("</body>");
                out.println("</html>");
        }
}
</pre>

*** WEB-INF/web.xml
- 省略

#br

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 ページ一覧 検索 最終更新   ヘルプ   最終更新のRSS