サーブレットベース_0100_HelloWorld

3375 ワード

一.servletの概要
servletはサーバー側の小さなプログラムですが、必ずしもwebサーバーの小さなプログラムではありません.彼はsmtp側の小さなプログラムでもメールサーバーの小さなプログラムでもあります.それはsunがjavaeeに定めた基準にすぎません.sunはjavaSEに強力なクラスライブラリを提供していますが、sunはjavaEEにクラスライブラリを提供していません.これも提供できません.彼はこのような基準を提供しただけです.三流会社は製品を売って、二流会社はサービスを売って、一流会社は標準を売って、sunは一流の会社かもしれませんが、今oracleに買収されました......
 javax.servlet.サーブレットはインタフェースで、このようなプログラムの標準を定義しています.サーブレットプログラムを使用するすべての実装サーバはこの標準体系を実現しなければなりません.私たちがよく使うtomcatサーバはこのような標準体系を実現しました.
 
GenericServiceletはサーブレットインタフェースを実現していますが、彼は抽象クラスです.httpプロトコルを作成するプログラムは、一般的には、GenericServiceletを継承するHttpServiceletクラスを使用しています.また、HttpServiceletクラスはGenericServiceletのサービス(サーブレットRequest,サーブレットResponse)メソッドをリロードし、サービス(HttpServices,HttpServices)に変更します.これにより、Webプロトコルの基準に適合します.サーブレットRequestクラスとサーブレットResponseクラスを単純にHttpサーブレットRequest,HttpサーブレットResponseに強制的に変換することを実現します.
そこで、サーブレットプログラムを書くには、Httpサーブレットクラスを直接継承するだけでいいです.そして、ブラウザがどの方法を要求しているのかを判断し、doGetやdoPost、または他の方法を呼び出すので、サーブレットプログラムを書く必要はありません.
tomcatはservletという標準体系を実現するため、tomcatのlibディレクトリの下にservlet-apiが必ず存在する.JArファイル、これがtomcatサーバが具体的に実装したservletというシステムです.
二.Webサーバプログラムの構造
1.webプログラムホーム、HelloWorldと記す
2.ホームディレクトリの下にWEB-INFディレクトリが必要である、WEB-INFディレクトリの下にj 2 ee規格に適合するウェブが必ずある.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">

 </web-app>
これは最も簡単なwebプログラムで、もちろん静的なホームページはしばらく議論しません
3.一般的なwebプログラムのWEB-INFディレクトリの下にはclassesディレクトリもあり、コンパイルされたclassファイルを専用に保存する.Webプログラムを実行するために必要なjarパッケージを格納するlibフォルダもあります
三.最初のサーブレットプログラム
1.HelloWorldServiceletクラス:
package com.servlet;

import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class HelloWorldServlet extends HttpServlet {

	@Override
	protected void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		System.out.println("Hello World!!!");
	}
	
}

2.コンパイルされたこのサーブレットクラスの.classファイルはtomcatのwebapps/HelloWorld/WEB-INF/classesディレクトリの下に入れます.もちろん詳細はこうです.class、どういう意味かわかるはずだ
3.サーブレットのあるclassファイルはまだ足りないので、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>hello</servlet-name>
   		<servlet-class>com.servlet.HelloWorldServlet</servlet-class>
   </servlet>
   
   <servlet-mapping>
   		<servlet-name>hello</servlet-name>
   		<url-pattern>/HelloWorldServlet</url-pattern>
   </servlet-mapping>
</web-app>

4.サーバーをオープンし、アクセスするhttp://localhost:8080/HelloWorld/HelloWorldServletバックグラウンドにHelloWorldが印刷され、テストに成功しました