实现第一个Struts2应用

1、概述

 实现第一个Struts2应用_第1张图片

实现第一个Struts2应用_第2张图片

实现第一个Struts2应用_第3张图片

实现第一个Struts2应用_第4张图片

 2、Struts2开发环境搭建

实现第一个Struts2应用_第5张图片

实现第一个Struts2应用_第6张图片

实现第一个Struts2应用_第7张图片

根据事例选择jar包。

实现第一个Struts2应用_第8张图片

 操作小技巧:

将上面jar包统一打成User Library

实现第一个Struts2应用_第9张图片

实现第一个Struts2应用_第10张图片

实现第一个Struts2应用_第11张图片

实现第一个Struts2应用_第12张图片

 实现第一个Struts2应用_第13张图片

实现第一个Struts2应用_第14张图片

 实现第一个Struts2应用_第15张图片

 小结:

实现第一个Struts2应用_第16张图片

实现第一个Struts2应用_第17张图片

实现第一个Struts2应用_第18张图片

 3、helloStruts第一个应用程序

创建helloStruts.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!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>Insert title here</title>
</head>
<body>
hello struts!
</body>
</html>

修改struts.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
 "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
 "http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>
    <!-- <constant name="struts.enable.DynamicMethodInvocation" value="false" />
    <constant name="struts.devMode" value="true" />
    <package name="default" namespace="/" extends="struts-default">
        <default-action-ref name="index" />
        <global-results>
            <result name="error">/WEB-INF/jsp/error.jsp</result>
        </global-results>
        <global-exception-mappings>
            <exception-mapping exception="java.lang.Exception" result="error"/>
        </global-exception-mappings>
        <action name="index">
            <result type="redirectAction">
                <param name="actionName">HelloWorld</param>
                <param name="namespace">/example</param>
            </result>
        </action>
    </package>
    <include file="example.xml"/> -->
    <!-- Add packages here -->
 <package name="default" namespace="/" extends="struts-default">
        <action name="hello">
            <result >
                /helloStruts.jsp
            </result>
        </action>
    </package>
</struts>

注:注释快捷键(ctrl+shift+/)取消(ctrl+shift+\)删除(ctrl+d)

result:"/"指的是"WebRoot"

namespace:"/"指的是“http://localhost:8181/MyFirstStruts/hello”中“hello”前的“/”

 异常处理:

实现第一个Struts2应用_第19张图片

解释:开发环境(Eclipse indigo版本)不支持将打好的实现第一个Struts2应用_第20张图片

jar包加入到项目的部署环境中,也就是说,部署时有jar包,但jar包并没有对项目提供支持。办法:

实现第一个Struts2应用_第21张图片

实现第一个Struts2应用_第22张图片

实现第一个Struts2应用_第23张图片

 第二个异常:

实现第一个Struts2应用_第24张图片

解释:没有这个action(“/”),配置文件中的action为“/hello”

办法:实现第一个Struts2应用_第25张图片

 尝试:

实现第一个Struts2应用_第26张图片

 实现第一个Struts2应用_第27张图片

 

 4、创建Action

实现第一个Struts2应用_第28张图片

 普通Action类:

package com.ljb.web.action;
public class HelloAction1 {
 public String execute(){
  return "success";
 }
}
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
 "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
 "http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>
      <!-- Add packages here -->
    <constant name="struts.devMode" value="true" />
 <package name="default" namespace="/" extends="struts-default">
        <action name="hello" class="com.ljb.web.action.HelloAction1">
            <result>
                /helloStruts.jsp
            </result>
        </action>
    </package>
</struts>

<constant name="struts.devMode" value="true" />
这句话的作用:不用更改配置频繁启动服务器

实现Action接口类:

package com.ljb.web.action;
import com.opensymphony.xwork2.Action;
public class HelloAction2 implements Action {
 @Override
 public String execute() throws Exception {
  // TODO Auto-generated method stub
  return "success";
 }
}
 <?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
 "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
 "http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>
      <!-- Add packages here -->
    <constant name="struts.devMode" value="true" />
 <package name="default" namespace="/" extends="struts-default">
        <action name="hello" class="com.ljb.web.action.HelloAction2">
            <result>
                /helloStruts.jsp
            </result>
        </action>
    </package>
</struts>

继承ActionSupport类:

package com.ljb.web.action;
import com.opensymphony.xwork2.ActionSupport;
public class HelloAction3 extends ActionSupport {
 @Override
 public String execute() throws Exception {
  // TODO Auto-generated method stub
  return "success";
 }
}
 <?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>
      <!-- Add packages here -->
    <constant name="struts.devMode" value="true" />
<package name="default" namespace="/" extends="struts-default">
        <action name="hello" class="com.ljb.web.action.HelloAction3">
            <result>
                /helloStruts.jsp
            </result>
        </action>
    </package>
</struts>

执行结果:

实现第一个Struts2应用_第29张图片

 实现第一个Struts2应用_第30张图片

 

 5、关联源码

实现第一个Struts2应用_第31张图片

 实现第一个Struts2应用_第32张图片

实现第一个Struts2应用_第33张图片

 实现第一个Struts2应用_第34张图片

实现第一个Struts2应用_第35张图片

实现第一个Struts2应用_第36张图片

实现第一个Struts2应用_第37张图片

 实现第一个Struts2应用_第38张图片

实现第一个Struts2应用_第39张图片

 实现第一个Struts2应用_第40张图片

6、小结

实现第一个Struts2应用_第41张图片

 

你可能感兴趣的:(struts2,关联源码,搭建开发环境,创建Action)