seasar web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID"
version="2.4"
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<display-name>test</display-name>
<filter>
<filter-name>setCharacterEncoding</filter-name>
<filter-class>jp.test.filter.SetCharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>MS932</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>setCharacterEncoding</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter>
<filter-name>s2filter</filter-name>
<filter-class>org.seasar.framework.container.filter.S2ContainerFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>s2filter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<servlet>
<servlet-name>s2container</servlet-name>
<servlet-class>org.seasar.struts.servlet.S2StrutsServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet>
<servlet-name>action</servlet-name>
<servlet-class>org.seasar.struts.servlet.S2ActionServlet</servlet-class>
<init-param>
<param-name>config</param-name>
<param-value>/WEB-INF/config/struts-config.xml</param-value>
</init-param>
<load-on-startup>2</load-on-startup>
</servlet>
<servlet>
<servlet-name>velocity</servlet-name>
<servlet-class>org.apache.velocity.tools.view.servlet.VelocityViewServlet</servlet-class>
<init-param>
<param-name>org.apache.velocity.toolbox</param-name>
<param-value>/WEB-INF/config/toolbox.xml</param-value>
</init-param>
<init-param>
<param-name>org.apache.velocity.properties</param-name>
<param-value>/WEB-INF/config/velocity-user.properties</param-value>
</init-param>
<load-on-startup>3</load-on-startup>
</servlet>
<!-- Action Servlet Mapping -->
<servlet-mapping>
<servlet-name>s2container</servlet-name>
<url-pattern>/s2container</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>velocity</servlet-name>
<url-pattern>*.vm</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<!-- Struts Tag Library Descriptors -->
<jsp-config>
<taglib>
<taglib-uri>/WEB-INF/struts-bean.tld</taglib-uri>
<taglib-location>/WEB-INF/tld/struts-bean.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>/WEB-INF/struts-html.tld</taglib-uri>
<taglib-location>/WEB-INF/tld/struts-html.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>/WEB-INF/struts-logic.tld</taglib-uri>
<taglib-location>/WEB-INF/tld/struts-logic.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>/WEB-INF/struts-nested.tld</taglib-uri>
<taglib-location>/WEB-INF/tld/struts-nested.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>/WEB-INF/struts-tiles.tld</taglib-uri>
<taglib-location>/WEB-INF/tld/struts-tiles.tld</taglib-location>
</taglib>
</jsp-config>
<error-page>
<error-code>400</error-code>
<location>/WEB-INF/jsp/error.jsp</location>
</error-page>
<error-page>
<error-code>401</error-code>
<location>/WEB-INF/jsp/error.jsp</location>
</error-page>
<error-page>
<error-code>402</error-code>
<location>/WEB-INF/jsp/error.jsp</location>
</error-page>
<error-page>
<error-code>403</error-code>
<location>/WEB-INF/jsp/error.jsp</location>
</error-page>
<error-page>
<error-code>404</error-code>
<location>/WEB-INF/jsp/notFoundError.jsp</location>
</error-page>
<error-page>
<error-code>405</error-code>
<location>/WEB-INF/jsp/error.jsp</location>
</error-page>
<error-page>
<error-code>408</error-code>
<location>/WEB-INF/jsp/error.jsp</location>
</error-page>
<error-page>
<error-code>500</error-code>
<location>/WEB-INF/jsp/error.jsp</location>
</error-page>
<error-page>
<error-code>503</error-code>
<location>/WEB-INF/jsp/error.jsp</location>
</error-page>
</web-app>
<web-app id="WebApp_ID"
version="2.4"
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<display-name>test</display-name>
<filter>
<filter-name>setCharacterEncoding</filter-name>
<filter-class>jp.test.filter.SetCharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>MS932</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>setCharacterEncoding</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter>
<filter-name>s2filter</filter-name>
<filter-class>org.seasar.framework.container.filter.S2ContainerFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>s2filter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<servlet>
<servlet-name>s2container</servlet-name>
<servlet-class>org.seasar.struts.servlet.S2StrutsServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet>
<servlet-name>action</servlet-name>
<servlet-class>org.seasar.struts.servlet.S2ActionServlet</servlet-class>
<init-param>
<param-name>config</param-name>
<param-value>/WEB-INF/config/struts-config.xml</param-value>
</init-param>
<load-on-startup>2</load-on-startup>
</servlet>
<servlet>
<servlet-name>velocity</servlet-name>
<servlet-class>org.apache.velocity.tools.view.servlet.VelocityViewServlet</servlet-class>
<init-param>
<param-name>org.apache.velocity.toolbox</param-name>
<param-value>/WEB-INF/config/toolbox.xml</param-value>
</init-param>
<init-param>
<param-name>org.apache.velocity.properties</param-name>
<param-value>/WEB-INF/config/velocity-user.properties</param-value>
</init-param>
<load-on-startup>3</load-on-startup>
</servlet>
<!-- Action Servlet Mapping -->
<servlet-mapping>
<servlet-name>s2container</servlet-name>
<url-pattern>/s2container</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>velocity</servlet-name>
<url-pattern>*.vm</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<!-- Struts Tag Library Descriptors -->
<jsp-config>
<taglib>
<taglib-uri>/WEB-INF/struts-bean.tld</taglib-uri>
<taglib-location>/WEB-INF/tld/struts-bean.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>/WEB-INF/struts-html.tld</taglib-uri>
<taglib-location>/WEB-INF/tld/struts-html.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>/WEB-INF/struts-logic.tld</taglib-uri>
<taglib-location>/WEB-INF/tld/struts-logic.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>/WEB-INF/struts-nested.tld</taglib-uri>
<taglib-location>/WEB-INF/tld/struts-nested.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>/WEB-INF/struts-tiles.tld</taglib-uri>
<taglib-location>/WEB-INF/tld/struts-tiles.tld</taglib-location>
</taglib>
</jsp-config>
<error-page>
<error-code>400</error-code>
<location>/WEB-INF/jsp/error.jsp</location>
</error-page>
<error-page>
<error-code>401</error-code>
<location>/WEB-INF/jsp/error.jsp</location>
</error-page>
<error-page>
<error-code>402</error-code>
<location>/WEB-INF/jsp/error.jsp</location>
</error-page>
<error-page>
<error-code>403</error-code>
<location>/WEB-INF/jsp/error.jsp</location>
</error-page>
<error-page>
<error-code>404</error-code>
<location>/WEB-INF/jsp/notFoundError.jsp</location>
</error-page>
<error-page>
<error-code>405</error-code>
<location>/WEB-INF/jsp/error.jsp</location>
</error-page>
<error-page>
<error-code>408</error-code>
<location>/WEB-INF/jsp/error.jsp</location>
</error-page>
<error-page>
<error-code>500</error-code>
<location>/WEB-INF/jsp/error.jsp</location>
</error-page>
<error-page>
<error-code>503</error-code>
<location>/WEB-INF/jsp/error.jsp</location>
</error-page>
</web-app>
抽象クラス
抽象クラス
インスタンスを生成できないクラス
では何に使うか?
型として使用することができる。(変数として使う)
absract public class Animal
これはAnimal型を使用して子クラスのインスタンスを生成する。
Animal animal = 子クラスのインスタンス
↑Animal オブジェクト
-
abstarctはメソッドにも使用できる
abstract public void walk();
抽象メソッドが存在する場合、必ず抽象クラスになる。
よって子クラスで必ずオーバーライドしなくてはいけない。
つまり、オーバーライドを強制できる
Animal animal にabstract public walkがないと
子クラスのwalkメソッドを呼び出せない。
インスタンスを生成できないクラス
では何に使うか?
型として使用することができる。(変数として使う)
absract public class Animal
これはAnimal型を使用して子クラスのインスタンスを生成する。
Animal animal = 子クラスのインスタンス
↑Animal オブジェクト
-
abstarctはメソッドにも使用できる
abstract public void walk();
抽象メソッドが存在する場合、必ず抽象クラスになる。
よって子クラスで必ずオーバーライドしなくてはいけない。
つまり、オーバーライドを強制できる
Animal animal にabstract public walkがないと
子クラスのwalkメソッドを呼び出せない。
メソッドのオーバーライド
◎メソッドのオーバーライド
異なる引数があるものはオーバーロード
同じシグニチャのメソッドを定義
void walk()
戻り型 メソッド名 引数の並び(型と個数が同じ)
アクセス修飾子
名前 クラス フィールド・メソッド
private × クラス内からしか見えない
なし 同じパッケージ内
protected × 子クラス
public どこからでも
継承すると
Animal animal = new Dog();
が使用できる
Animal animal = ○○
これは、Animalインスタンスができているとは限らない
Animal animal = new Dogや new Cat
animal.walk
メソッドの透過的な呼び出し
とは↓
下位レベルを意識しなくてよい
Animal オブジェクトと言われたら
Animalインスタンスかも
Dogインスタンスかも
Catインスタンスかも
異なる引数があるものはオーバーロード
同じシグニチャのメソッドを定義
void walk()
戻り型 メソッド名 引数の並び(型と個数が同じ)
アクセス修飾子
名前 クラス フィールド・メソッド
private × クラス内からしか見えない
なし 同じパッケージ内
protected × 子クラス
public どこからでも
継承すると
Animal animal = new Dog();
が使用できる
Animal animal = ○○
これは、Animalインスタンスができているとは限らない
Animal animal = new Dogや new Cat
animal.walk
メソッドの透過的な呼び出し
とは↓
下位レベルを意識しなくてよい
Animal オブジェクトと言われたら
Animalインスタンスかも
Dogインスタンスかも
Catインスタンスかも