Welcome to the Apache Struts project 欢迎来到Struts2的世界

Struts2框架下载

    Struts官网的title虽然不是按照如题目一般翻译,但是我希望能够用这样的方式吸引自己及读者去进入Struts2的世界。 

      Struts2下载页面中,可以看到apache还在支持Struts1(作为一个优秀的人或者优秀的IT工作者,就应该学习国外同行责任感和态度,把自己负责的项目做到极致,时刻考虑未来的扩展性、可维护性及可阅读性,只有这样才能使程序更能够生存的茁壮。)

      忽略掉Struts1直接下载我们的Struts2的内容。


下表注明了各个压缩包的作用。

压缩包名称

作用

struts-2.3.20-docs.zip 

文档,包含了Struts2API

struts-2.3.20-lib.zip 

构建Struts2工程所需要的包

struts-2.3.20-src.zip 

Struts2的所有源代码

struts2-blank-2.3.20.war

空白工程

struts-2.3.20-all.zip

大集成,包括上面所有的内容



Struts2框架解压内容

下载以后解压得到我们的全部内容:


       这就是Struts2的世界。许多程序员都喜欢直接找到搭建教程照猫画虎一番,也有喜欢看着各位程序员老师们的教学视频。本人来讲,比较愚钝,喜欢刨根问底儿,也许与本人性格有关,喜欢偏执,喜欢较真,也一直认为只有学到手的才是知识。看完其他人的教程,如果不说细节为啥如此,整个人就不爽了。马士兵老师在教学视频中讲过:一个好的程序员就应该不停的翻阅这些源码资料。从中受到启发。就此认为只有学会方法之道,万物皆可触类旁通。

整个包中包括几部分内容:

apps:struts2-blank.war、struts2-mailreader.war、struts2-portlet.war、struts2-rest-showcase.war、struts2-showcase.war。为官方打包好的自带项目,我们可以部署到web服务器,参看框架开发者们的代码示例,值得一看。

docs:Struts2帮助文档以及流程图,涉及到Struts2问题多看看帮助文档总是没错,里面的流程图对我们理解Struts2框架工作流程至关重要,目标成为框架师就应该去做至极致,只有细处才能见真章。

lib:Struts2的核心部分 jar包。

src:当然是源码啦。之前的jar包都是封装好滴,只有在IDE设置好jar包关联的源码路径,我们才能从源码底层一窥究竟。


搭建Struts2 Demo 环境准备

WEB服务器apache-tomcat-7.0.56
Struts版本struts-2.3.20
JDK版本JDK1.7
J2EE版本Java EE 6.0


准备好环境后。使用MyEclipse10新建 javaweb工程:


展开刚才新建的工程:

引入Struts2 FrameWork 配置及资源


之前我们在已经下载完成的Struts2资源包中的apps文件夹下,会存在一个war包:

struts2-blank-2.3.20.war

空白工程


我们本可以直接把其部署至web服务器下。但是我们因为要自己配置Struts2工程,所以我们解压war包:

①添加jar包至工程

从struts2-blank\WEB-INF\lib路径下找到以下jar包

copy至新建的工程 \WEB-INF\lib 下


②添加Struts2配置文件

struts2-blank\WEB-INF\classes 目录下找到struts.xml文件 copy至新建工程的src文件夹下。


③配置新建工程web.xml Struts.xml文件

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">/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>
            	/Hello.jsp
            </result>
        </action>
    </package>


</struts>

中间注释掉的代码可以以作参考。


web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" 
	xmlns="http://java.sun.com/xml/ns/javaee" 
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
	http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
  <display-name></display-name>	
  <welcome-file-list>
    <welcome-file>Hello.jsp</welcome-file>
  </welcome-file-list>
  
<span style="color:#FF0000;"><strong>      <filter>
        <filter-name>struts2</filter-name>
        <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
    </filter>

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

加粗字体为从Struts2空白工程中拷至新建项目的web.xml代码段。


在WebRoot下新建一个jsp页面,代码如下:

<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>HelloStruts2.</title>
	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">    
	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
	<meta http-equiv="description" content="This is my page">
	<!--
	<link rel="stylesheet" type="text/css" href="styles.css">
	-->
  </head>
  
  <body>
    HelloStruts2. <br>
  </body>
</html>

那现在呢,一个Struts2 很简单的Demo 已经完成。但是目前还少Struts2真正核心的内容比如action等。

部署运行程序




在浏览器中输入地址,终于看到了第一个小demo



你好。strut2



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值