【Eclipse】MavenでWebプロジェクトを構築（Jetty編）

MavenでWebプロジェクトを構築（Jetty編）

1.Eclipseで新規プロジェクトでMavenプロジェクトを選択する
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/639599/c8bf73fd-79df-97b9-d1e5-5126eb90532a.png)

2.アーキタイプの選択で「web」でフィルターをして「org.apache.maven.archetypes」を選択する
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/639599/c77c9e5c-e804-46df-87e1-7c1e414826dc.png)

3.グループIDとアーティファクトIDを登録する
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/639599/2ba1b8df-543c-7bf1-185d-5ec5f38b36c1.png)

4.プロジェクトを作成するとHttpServletがありませんエラーが表示される
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/639599/b08e8e93-09b3-0675-8e5b-dd6ebc316f62.png)

5.Maven Repositoryにアクセスして、「servlet」を検索する
https://mvnrepository.com/repos/central
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/639599/26447a81-54c9-9f6e-dd8d-bb400c2967be.png)

6.一覧より該当の「servlet」を選択する
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/639599/5b4499f0-b20c-70de-0d2e-75b7f69a812f.png)

7.該当の「version」を選択する
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/639599/a65e690e-aa63-0faa-db10-fad90b43a5c4.png)

8.pom.xmlに貼る情報を取得する
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/639599/8155f95a-5c96-ad27-7c6b-7a7543af63ff.png)

9.pom.xmlに情報を反映するとエラーが消える
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/639599/be87d712-3c2d-124a-0096-243e0e1271b9.png)

10.jspの情報も取得して、pom.xmlに反映する
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/639599/0b790f2a-bf2c-d50c-41b9-6e46b7d64442.png)

11.Mavenのビルドを行う
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/639599/0142032a-d290-dae7-585f-9a49afdf495d.png)

12.ゴールは「clean install」にする
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/639599/3f3e130d-dac4-394b-c044-f3d37bf64499.png)

13.jettyで実行する（jspの動作確認）※必要に応じてJREライブラリバージョンを変更する
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/639599/ca29069f-ec9e-3a3f-6f78-ba8e38ffcc77.png)
👇の画面が表示されればOK
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/639599/9af3f016-8d84-d65d-5d47-8236bdbbc0f3.png)

14.servlet確認を行う為のservletを生成する
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/639599/0a82fbaf-4370-ca98-c144-2583dcd28396.png)

15.servletの内容
```java
package com.maven.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 HelloMavenServlet extends HttpServlet {

	@Override
	protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		resp.setContentType("text/plain");
		resp.getWriter().write("HelloMavenServlet is here");
	}
}
```
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/639599/bc4dd343-1577-b287-1d72-96e5e7681936.png)

16.web.xmlにservletの情報を記載する
（※jettyのバージョンによっては、servletアノテーションが効かない）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/639599/dec9eba8-0290-b681-3932-9e28722eee52.png)
```xml
<!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>HelloServlet</servlet-name>
		<servlet-class>com.maven.servlet.HelloMavenServlet</servlet-class>
	</servlet>
	<servlet-mapping>
		<servlet-name>HelloServlet</servlet-name>
		<url-pattern>/hello</url-pattern>
	</servlet-mapping>
</web-app>
```

17.maven でビルドする（clean install）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/639599/05915e48-c369-bd8c-81b7-837cd9cc849d.png)

18.jettyを実行して、以下の画面が表示されればOK
http://localhost:8080/test-maven-web/hello
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/639599/47979069-ef1b-2be5-0028-4ad90b304bd4.png)