ディレクトリ
春ブーツ統合サーブレット(二つの方法)
- 新しいMavenプロジェクト作成
完了後に構造図を作成するために:
- の導入に依存の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.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を/
コンソール出力
(完全な登録にサーブレット・コンポーネントによって)第二の方法
- サーブレットを作成します
- 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;
}
}
- お使いのブラウザの種類のローカルホストで実行起動クラス:8080 / SecondServlet
- コンソール情報を印刷
Springboot積分フィルタ(サーブレットと統合された方法と同様)
第一の実施の形態(走査注釈によって登録Fliter完全アセンブリ)
- Filterクラスを作成します。
- フィルタを継承親クラスが実装インタフェース・
コードは次のとおりです。
@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-----");
}
}
- 起動クラスの作成
次のようにコードは次のとおりです。
@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がなかったからです。
コンソールの情報を印刷:
第二の方法(方法及び手段により登録フィルタコンポーネントを完了するために)
- ノートを記述することなく、フィルタクラスを作成します@WebFilter
- クラス開始
コードを次のとおりです。
@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;
}
}
- お使いのブラウザの種類のローカルホストで実行起動クラス:8080 / SecondFilterの
コンソール印刷情報:
Springboot統合リスナー(同上)
スキャンの登録に注釈を付けることでFliter完全なアセンブリ
- クラスリスナーの作成
リスナーコード:
@WebListener()
public class firstListener implements ServletContextListener{
//监听application对象的创建
@Override
public void contextInitialized(ServletContextEvent sce) {
System.out.println("-----------application对象创建-----------------");
}
}
- 起動クラスを作成
コード:
@SpringBootApplication
@ServletComponentScan //在spring boot启动时会扫描@WebServlet @WebFilter @WebListener注解,并创建该类的实例
public class App {
public static void main(String[] args) {
SpringApplication.run(App.class, args);
}
}
- コンソールの印刷情報を参照するにはランスタートアップクラス
第二の方法(方法によっては、リスナーコンポーネント登録を完了する)
コードコードに直接コードを省略するように
- リスナークラスを作成します。
- スタートクラス
コード:
@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;
}
}
- コンソールの印刷情報を参照するにはランスタートアップクラス
Springbootアクセス静的リソース(二つの方法)
第一の方法(のServletContextのルートを調べることによって静的リソース)
1.(ディレクトリ名は、Webアプリケーションでなければなりません)WebアプリケーションのSRC /メインディレクトリに作成
など、さまざまな静的リソースを格納するためのWebアプリケーションに別のディレクトリを作成するには:画像は写真を置く
2.ファイル名を指定して実行のアクセス・パスのようなリソースへの直接アクセスを開始します
第二の方法(ディレクトリクラスパス/静さんからの静的リソースを探してください)
SRC /メイン/リソース下の静的なディレクトリ(ディレクトリ名は静的である必要があります)を作成します
よう:.画像は写真を入れて、静的異なる静的リソースに保存されている別のディレクトリを作成します
。2.ファイル名を指定して実行が直接アクセスリソースへのアクセス・パスにクラスブラウザを起動します
これらは、このチュートリアルの内容に関連している、おかげで見ているため、ソースを明記してください