使用maven+eclipse搭建最简单的struts2的helloworld

一、web分层结构简介

1、web[细]粒度分层结构:

按细粒度分层可以分为以下6种:

1).表现层:html/css/js/jsp

2).控制层:servlet

3).实体层:javabean

4).业务逻辑层:javabean

5).持久层:jdbc/c3p0/dbutils

6).数据层:mysql/oracle

2、web[粗]粒度分层结构(重点):

按粗粒度可以分为3层:

1).由上面的1)、2)、3)组成mvc

什么是MVC?

m即为model(模型层),v为view(表现层),c为controller(控制层)。

mvc仅用于表现层,不能作用于其它层。

2).业务层

3).持久层

二、struts简介

Struts 2是Apache基金会的明星级产品,提供了对MVC的一个清晰的实现,这一实现包含了很多参与对所以请求进行处理的关键组件,如:拦截器、OGNL表达式语言、堆栈等。

历史回顾:

2001年,struts1 web开源框架出现 (祖先)

2004年,webwork web开源框架出现 (后代)

2007年,struts2 web框架出现 (后代),struts2不是struts1的升级版也不是webwork的升级版,多半来源于webwork,少半来源于struts1.

JSF(javaserverface) web框架(后代),成为java标准。

个人理解:

一句许说来就是一个大大的servlet,即对javaWeb常用的操作进行封装,是目前ssh框架重要的组成部分。

web框架个人看来就是对各种方法,编程思想进行封装,然后进行各种配置就可以很方便的进行开发了,看看框架的源码有助于理解大牛们的思想。

三、下载struts2

下载地址为:http://struts.apache.org/download.cgi#struts2316

这里几个选项,apps表示struts案例,lib表示所依赖的jar包,docs表示文档,src表示源码,all表示全部, 这里建议选择下载all .

四、struts2的Hello World

第一步,使用eclipse新建一个maven webapp工程,如下图所示:

点击next,选择webapp工程,然后Next:

点击next,再点击next,按下面类似填写即可。

点击Finish

 第二步:

将所信赖的jar包,struts2-core-2.3.16.jar和commons-io-1.3.2.jar加入pom.xml中,如下所示:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.amos</groupId>
<artifactId>struts2</artifactId>
<packaging>war</packaging>
<version>0.0.1-SNAPSHOT</version>
<name>struts2 Maven Webapp</name>
<url>http://maven.apache.org</url>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-core</artifactId>
<version>2.3.16</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-io</artifactId>
<version>1.3.2</version>
</dependency>

</dependencies>
<build>
<finalName>struts2</finalName>
</build>
</project>

第三步:配置web.xml

这里是copy刚才下载的struts-2.3.16-all.zip包里的apps/struts2-blank.war中的web.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>
<display-name>Archetype Created Web Application</display-name>
<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>

</web-app>

第四步:HelloWorldAction.java

这里继承自ActionSupport类,只是在控制台输出"欢迎使用struts2!"字符串。

package com.amos.web.action;

import com.opensymphony.xwork2.ActionSupport;

//struts2的控制器
public class HelloWorldAction extends ActionSupport{
private static final long serialVersionUID = 6872366878758961847L;
//重写execute()方法
public String execute() throws Exception {
System.out.println("欢迎使用struts2!");
return super.execute();
}
}

第五步:apps/struts2-blank.war,WEB-INF/classes/中拷贝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>
<package name="com.amos.web.action" namespace="/" extends="struts-default" >
<action name="HelloWorldAction" class="com.amos.web.action.HelloWorldAction" method="execute"> </action>
</package>

</struts>

将struts.xml拷贝到resource目录下如下图所示:

第六步:启动tomcat,输入http://localhost:8080/struts2/HelloWorldAction查看控制台输出

这里浏览器会报错因为没有任何response返回,但这里只是简单配置struts2,只为验证控制台输出,所以可忽略。

五、其他

apps中有好几个示例可以研究:

struts2-blank.war struts2-portlet.war struts2-showcase.war
struts2-mailreader.war struts2-rest-showcase.war

这里我只导入了第一个,struts2-blank.war,导入方法为import--warfile-选择war包,然后下一步下一步即可。

 
 

使用maven+eclipse搭建最简单的struts2的helloworld的更多相关文章

  1. maven/eclipse搭建ssm(spring+spring mvc+mybatis)

    maven/eclipse搭建ssm(spring+spring mvc+mybatis) 前言 本文旨在利用maven搭建ssm环境,而关于maven的具体内容,大家可以去阅读<Maven 实 ...

  2. 利用maven/eclipse搭建ssm(spring+spring mvc+mybatis)

    前言 本文旨在利用maven搭建ssm环境,而关于maven的具体内容,大家可以去阅读<Maven 实战>.其实园内这方面文章已有不少,那么为什么我还要重复造轮子呢?我只是想记录自己的实践 ...

  3. Struts2入门(一)——环境搭建和简单例子(Struts2 2.5.2版本)

    一.前言 1.了解三大框架 什么是框架? 框架是一种规范,一种规则,一种把技术组织起来的规则,这就是框架. 什么是三大框架(SSH),Struts.hibernate和spring的作用是什么? St ...

  4. 用 Eclipse 搭建一个简单的 Maven spring mybatis 项目(包含测试用例)

    1: 先搭建一个Maven项目: 创建好后的目录: 2: 配置pom.xml文件: <project xmlns="http://maven.apache.org/POM/4.0.0& ...

  5. Maven+Eclipse+Spring MVC简单实例

    1. ToolsVersion and Preparations: Eclipse: 3.5 (eclipse-jee-galileo-win32) Maven: 2.0.11 Spring MVC ...

  6. 搭建一个简单的Struts2(Struts2_HelloWorld)

    1.导入Jar包 2.配置web.xml 1 <?xml version="1.0" encoding="UTF-8"?> 2 <web-ap ...

  7. 搭建一个简单的Struts2框架

    1  创建一个web项目. 2 导入必要的JAR文件. 放在WEB-INF下lib包里. 3 添加web.xml配置,添加启动配置. <?xml version="1.0" ...

  8. maven仓库总结,maven私服搭建,批量mvn eclipse:eclipse

    配置pom.xml依赖包时在这里找包的描述: http://search.maven.org/#browse 以java为根目录. mvn archtype:generate -DgroupId=zt ...

  9. Eclipse搭建Maven Prooject(终于)

    今天我们一起来探讨eclipse搭建maven项目的步骤 一.建一个maven项目, 1.找到File ,点击 2.弹出窗口,再点击new 3.弹出窗口,点击other 4.输入maven,找到mav ...

随机推荐

  1. Drupal 7.31 SQL注射分析POC

    此漏洞昨日爆发 ,我们有时间去看看今天的代码. 于Drupal于,跑sql声明使用PDO型号,这是一般能够避免大部分的注射,由于使用占位符的sql语法语句是限制. 但是,这并不意味着绝对安全,. 在D ...

  2. NYNU_省赛选拔题(6)

    题目描述 有一天,小米找到了一个藏宝的迷宫地图,迷宫在一个沙漠里有,迷宫里面有许多宝藏.迷宫里可能有N个藏宝地点,用1到K标记.藏宝地点之间最多有一条通路相连.标记1为迷宫的进出口. 他已经知道其中K ...

  3. ArcGIS JavaScript API本地部署离线开发环境[转]

    原文地址:http://www.cnblogs.com/brawei/archive/2012/12/28/2837660.html 1 获取ArcGIS JavaScript API API的下载地 ...

  4. ABP模块系统

    ABP模块系统 基于DDD的现代ASP.NET开发框架--ABP系列之4.ABP模块系统 ABP是“ASP.NET Boilerplate Project (ASP.NET样板项目)”的简称. ABP ...

  5. 关于启动调试时,总是启动多个web端口的问题

    在一个解决方案中,经常包含多个web项目,当设置某一个web项目为起始项目后,启动调试,会发现其他的web项目的端口也会一起打开,显示在电脑的右下方,其实开启其他端口有时是没必要的,只是多占用了系统内 ...

  6. maven添加本地jar包依赖

    1.  在java工程下新建文件夹,如repo/allin/allin-util/0.1 然后jar包扔进去,如下图: 2. 修改pom.xml文件,增加以下 <repositories> ...

  7. 【高德地图API】如何获得行政区域?如何制作行政规划图?

    原文:[高德地图API]如何获得行政区域?如何制作行政规划图? 什么是行政规划图?如何获得每个行政区域的边界轮廓图?举例:重庆市 江北区.如图: 官方类参考:http://developer.amap ...

  8. FindBugs:Compiler output path for module can not be null. check your module/project settings问题原因

    这可能是很多人在使用Android studio 该插件会发现此错误信息:Compiler output path for module can not be null. check your mod ...

  9. 跟着大神重写的KNN 文档归类小工具

    ·背景 在知道KNN之前,楼主有时候会粗糙地做一些分类模型的计算.在拜读了Orisun大神[http://www.cnblogs.com/zhangchaoyang/articles/2162393. ...

  10. jenkins综合cobertura,来电显示cobertura的report

    我的项目是使用maven作为构建工具.左右maven如何整合jenkins请参阅: http://blog.csdn.net/yaominhua/article/details/40684355 本文 ...