Java
struts2

Struts 2.5.8を導入する手順

More than 1 year has passed since last update.

 事前準備

  • 最新版のStruts 2.5.8をダウンロードする: Strut2.5.8
  • Javaダウンロードして導入する: MacでのJavaのインストール方法
  • Eclipse IDE を導入する: Eclipse

    開発プロジェクト作成

  • [Eclipse > File> New > Other > Dynamic Web Project]
    スクリーンショット 2017-01-03 17.10.13.png

  • プロジェクトの各属性を入力する

スクリーンショット 2017-01-03 17.13.52.png
* ターゲット環境を構築する (環境によってTomCatを導入したパスが違いますので要注意)
スクリーンショット 2017-01-03 17.16.53.png
- 「完了」を押したらプロジェクトが作成される

スクリーンショット 2017-01-03 17.18.57.png

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

-サーバーTabで新しいサーバーを新規する
スクリーンショット 2017-01-03 17.21.36.png

-設定する時以下のように設定しておく。サーバーローケーションはTomcatを導入したフォルダーに指定してください。
スクリーンショット 2017-01-03 17.23.00.png
-サーバーのローケーションPropertyを変えるには必要があります
スクリーンショット 2017-01-03 17.26.59.png

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

スクリーンショット 2017-01-03 17.27.08.png

世界へようこそ

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

スクリーンショット 2017-01-03 17.32.02.png

  • web.xml をWEB-INFの下に作成しておく
<?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 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
<%@ 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

<%@ 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
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