Struts 2.5.8を導入する手順

#　事前準備
- 最新版のStruts 2.5.8をダウンロードする： [Strut2.5.8](http://struts.apache.org/download.cgi)
- Javaダウンロードして導入する： [MacでのJavaのインストール方法](https://java.com/ja/download/help/mac_install.xml)
- Eclipse IDE を導入する: [Eclipse](https://eclipse.org/downloads/)
#開発プロジェクト作成

- [Eclipse > File> New > Other > Dynamic Web Project]
![スクリーンショット 2017-01-03 17.10.13.png](https://qiita-image-store.s3.amazonaws.com/0/139068/3052be97-db12-a13a-2b80-22368fcca3ff.png)
- プロジェクトの各属性を入力する

![スクリーンショット 2017-01-03 17.13.52.png](https://qiita-image-store.s3.amazonaws.com/0/139068/76bf22fc-6032-2ba3-2836-ad664b4f112e.png)
   * ターゲット環境を構築する (環境によってTomCatを導入したパスが違いますので要注意）
![スクリーンショット 2017-01-03 17.16.53.png](https://qiita-image-store.s3.amazonaws.com/0/139068/e6cd63e9-4acc-4bb8-a31a-4683dfeba8de.png)
- 「完了」を押したらプロジェクトが作成される

![スクリーンショット 2017-01-03 17.18.57.png](https://qiita-image-store.s3.amazonaws.com/0/139068/fd9a42ca-a1c8-c7ee-5cf4-22586db1baea.png)

#デプロイサーバーを設定する手順

-サーバーTabで新しいサーバーを新規する
![スクリーンショット 2017-01-03 17.21.36.png](https://qiita-image-store.s3.amazonaws.com/0/139068/58b2e49a-374b-8089-c85e-b57df52f6870.png)

-設定する時以下のように設定しておく。サーバーローケーションはTomcatを導入したフォルダーに指定してください。
![スクリーンショット 2017-01-03 17.23.00.png](https://qiita-image-store.s3.amazonaws.com/0/139068/0f800f59-81ea-7e66-b308-f9cb55c17c9c.png)
-サーバーのローケーションPropertyを変えるには必要があります
![スクリーンショット 2017-01-03 17.26.59.png](https://qiita-image-store.s3.amazonaws.com/0/139068/2369eece-5259-1169-8036-1337c34975a4.png)

** Meta...ではなくこういうようなローケーションストリングに変更しておいてください **

![スクリーンショット 2017-01-03 17.27.08.png](https://qiita-image-store.s3.amazonaws.com/0/139068/9a426a1f-7293-8a0d-6dc6-6791c483d233.png)

#世界へようこそ

- Struts2.5.8の必要なライブラリのみをWebContent/Web-INF/libにコピーする.Downloadした全てのライブラリーをコピーするとしたらデプロイするとエラーが出てきます。

![スクリーンショット 2017-01-03 17.32.02.png](https://qiita-image-store.s3.amazonaws.com/0/139068/ad95f0d9-7b77-1b73-b592-1bb05d6fa343.png)

- web.xml をWEB-INFの下に作成しておく

```xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
                      http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
  version="3.1"
  metadata-complete="true">

	<display-name>HelloStrut2</display-name>
	<welcome-file-list>
      <welcome-file>index.jsp</welcome-file>
    </welcome-file-list>
	<filter>
		<filter-name>struts2</filter-name>
		<filter-class>org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter</filter-class>
	</filter>

	<filter-mapping>
		<filter-name>struts2</filter-name>
		<url-pattern>/*</url-pattern>
	</filter-mapping>
	
</web-app>

```
- struts.xmlを WebContent/WEB-INF/classes/に配置する

```xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
   "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
   "http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
   <constant name="struts.devMode" value="true" />
   <package name="helloworld" extends="struts-default">
      <action name="hello" 
            class="com.tutorialspoint.struts2.HelloWorldAction" 
            method="execute">
            <result name="success">/HelloWorld.jsp</result>
      </action>
   </package>
</struts>

```

- WebContent/WEB-INF/index.jsp

```jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Hello Struts2</title>
</head>
<body>
   <h1>Hello World From Struts2</h1>
   <form action="hello">
      <label for="name">Please enter your name</label><br/>
      <input type="text" name="name"/>
      <input type="submit" value="Say Hello"/>
   </form>
</body>
</html>
```

-WebContent/WEB-INF/Helloworld.jsp

```jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Hello Struts2</title>
</head>
<body>
   Hello World, <s:property value="name"/>
</body>
</html>
```

- HelloWorldAction.java

```java
package com.tutorialspoint.struts2;

public class HelloWorldAction {

	   private String name;

	   public String execute() throws Exception {
	      return "success";
	   }
	   
	   public String getName() {
	      return name;
	   }

	   public void setName(String name) {
	      this.name = name;
	   }
}
```
#実施結果

![スクリーンショット 2017-01-03 17.39.56.png](https://qiita-image-store.s3.amazonaws.com/0/139068/2c6b6260-57a3-1912-3b52-f0b79bd6b075.png)