春ブーツ統合サーブレット、フィルター、リスナー、アクセスの静的リソース

春ブーツ統合サーブレット(二つの方法)

  1. 新しいMavenプロジェクト作成
    ここに画像を挿入説明
    完了後に構造図を作成するために:
    ここに画像を挿入説明
  2. の導入に依存のpom.xml
	<!--引入父项目-->
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.2.4.RELEASE</version>
    </parent>
    <dependencies>
        <!--SpringBoot web启动器-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
    </dependencies>

(スキャンモードに注釈を付けることにより、登録サーブレット・コンポーネントを完了するための)最初の方法:

  1. 注釈のスキャンの方法による完全なサーブレットコンポーネントが登録さ
    1.1。サーブレットを作成します

ここに画像を挿入説明
1.2サーブレットは、コードを記述します。

@WebServlet(name = "firstServlet",urlPatterns = "/firstServlet") //urlPatterns:访问路径
public class firstServlet extends HttpServlet {
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        System.out.println("进来了firstServlet");
    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    doPost(request,response);
    }

1.3クラスを書き始める
springboot起動クラスを作成する
ここに画像を挿入説明
コード:

@SpringBootApplication
//在spring boot启动时会扫描@WebServlet注解,并创建该类的实例
@ServletComponentScan
public class App {
    public static void main(String[] args) {
        SpringApplication.run(App.class, args);
    }
}

注:起動クラスの必要性については、@ServletComponentScanコメント手段を追加するには:あなたは、インスタンス@WebServletノートのスキャンを開始するとき、サーブレットの作成します

1.4ブラウザの起動クラスを実行し、localhostと入力します:8080 firstServletを/
ここに画像を挿入説明
コンソール出力
ここに画像を挿入説明

(完全な登録にサーブレット・コンポーネントによって)第二の方法

  1. サーブレットを作成します
    ここに画像を挿入説明
  2. springbootクラスを作成すると起動し
    ここに画像を挿入説明
    、登録サーブレット法の主なコンポーネントの新しい方法を
@SpringBootApplication
public class App {
    public static void main(String[] args) {
        SpringApplication.run(App.class, args);
    }

    //添加一个方法,方法名无要求,必须返回ServletRegistrationBean。注册Servlet对象
    @Bean     //主键等价于<bean>标签
    public ServletRegistrationBean<SecondServlet> getServletRegistrationBean(){
        ServletRegistrationBean<SecondServlet> bean=
                new ServletRegistrationBean<SecondServlet>(new SecondServlet(),"/SecondServlet");
        return bean;
    }
}
  1. お使いのブラウザの種類のローカルホストで実行起動クラス:8080 / SecondServlet
    ここに画像を挿入説明
  2. コンソール情報を印刷
    ここに画像を挿入説明

Springboot積分フィルタ(サーブレットと統合された方法と同様)

第一の実施の形態(走査注釈によって登録Fliter完全アセンブリ)

  1. Filterクラスを作成します。
    ここに画像を挿入説明
  2. フィルタを継承親クラスが実装インタフェース・
    ここに画像を挿入説明
    コードは次のとおりです。
@WebFilter(filterName = "firstFilter", urlPatterns = "/firstFilter")
public class firstFilter implements Filter {
    @Override
    public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
            throws IOException, ServletException {
        System.out.println("----进入FirstFilter-----");
        chain.doFilter(request, response);//放行
        System.out.println("----离开FirstFilter-----");
    }
}
  1. 起動クラスの作成

    次のようにコードは次のとおりです。
@SpringBootApplication
//在spring boot启动时会扫描@WebServlet @WebFilter @WebListener注解,并创建该类的实例
@ServletComponentScan
public class App {
    public static void main(String[] args) {
        SpringApplication.run(App.class, args);
    }

}

お使いのブラウザで起動クラスを実行し、localhostを入力します:8080 / firstFilter
ここに画像を挿入説明
ここ新聞がリリース後に書き込みパス404がなかったからです。

コンソールの情報を印刷:
ここに画像を挿入説明

第二の方法(方法及び手段により登録フィルタコンポーネントを完了するために)

  1. ノートを記述することなく、フィルタクラスを作成します@WebFilter
    ここに画像を挿入説明
  2. クラス開始
    ここに画像を挿入説明
    コードを次のとおりです。
@SpringBootApplication
public class App {
    public static void main(String[] args) {
        SpringApplication.run(App.class, args);
    }

    //添加一个方法
    @Bean
    public FilterRegistrationBean<SecondFilter> getFilterRegistrationBean(){
        FilterRegistrationBean<SecondFilter> bean=
                new FilterRegistrationBean<SecondFilter>(new SecondFilter());
        bean.addUrlPatterns("*.do","*.jsp","/SecondFilter"); //以.do , .jsp , SecondFilter结尾路径的都会进到过滤器
        return bean;
    }
}

  1. お使いのブラウザの種類のローカルホストで実行起動クラス:8080 / SecondFilterの
    ここに画像を挿入説明
    コンソール印刷情報:
    ここに画像を挿入説明

Springboot統合リスナー(同上)

スキャンの登録に注釈を付けることでFliter完全なアセンブリ

  1. クラスリスナーの作成
    ここに画像を挿入説明
    ここに画像を挿入説明
    リスナーコード:
@WebListener()
public class firstListener implements ServletContextListener{
    //监听application对象的创建
    @Override
    public void contextInitialized(ServletContextEvent sce) {
        System.out.println("-----------application对象创建-----------------");
    }
}

  1. 起動クラスを作成
    ここに画像を挿入説明
    コード:
@SpringBootApplication
@ServletComponentScan  //在spring boot启动时会扫描@WebServlet @WebFilter @WebListener注解,并创建该类的实例
public class App {
    public static void main(String[] args) {
        SpringApplication.run(App.class, args);
    }
}
  1. コンソールの印刷情報を参照するにはランスタートアップクラス
    ここに画像を挿入説明

第二の方法(方法によっては、リスナーコンポーネント登録を完了する)

コードコードに直接コードを省略するように

  1. リスナークラスを作成します。
  2. スタートクラス
    ここに画像を挿入説明
    コード:
@SpringBootApplication
public class App {
    public static void main(String[] args) {
        SpringApplication.run(App.class, args);
    }
    @Bean
    public ServletListenerRegistrationBean<firstListener> getServletListenerRegistrationBean(){
        ServletListenerRegistrationBean<firstListener> bean=
                new ServletListenerRegistrationBean<firstListener>(new firstListener());
        return bean;
    }
}
  1. コンソールの印刷情報を参照するにはランスタートアップクラス
    ここに画像を挿入説明

Springbootアクセス静的リソース(二つの方法)

第一の方法(のServletContextのルートを調べることによって静的リソース)

1.(ディレクトリ名は、Webアプリケーションでなければなりません)WebアプリケーションのSRC /メインディレクトリに作成
など、さまざまな静的リソースを格納するためのWebアプリケーションに別のディレクトリを作成するには:画像は写真を置く
ここに画像を挿入説明
2.ファイル名を指定して実行のアクセス・パスのようなリソースへの直接アクセスを開始します
ここに画像を挿入説明
ここに画像を挿入説明

第二の方法(ディレクトリクラスパス/静さんからの静的リソースを探してください)

SRC /メイン/リソース下の静的なディレクトリ(ディレクトリ名は静的である必要があります)を作成します
よう:.画像は写真を入れて、静的異なる静的リソースに保存されている別のディレクトリを作成します
ここに画像を挿入説明
。2.ファイル名を指定して実行が直接アクセスリソースへのアクセス・パスにクラスブラウザを起動します
ここに画像を挿入説明
ここに画像を挿入説明

これらは、このチュートリアルの内容に関連している、おかげで見ているため、ソースを明記してください

おすすめ

転載: www.cnblogs.com/joker-dj/p/12657528.html