开山第一篇,毕业4个月目前接触最多的框架还是s2sh框架。。。。

具备完整的开发环境下,在eclipse下启动tomcat出现如下所示画面表示环境构建成功。

第一步:创建web项目,截图如下

此页面只需填写项目名称即可,连续点击两次Next后出现如下所示页面

红色标记位置一定要勾选,这是web项目启动时首先需要加载的web.xml配置文件,勾选后点击Finish即成功创建了一个空白web项目。

第二步:导入struts2所需jar包,各版本jar包下载地址:http://mirrors.shuosc.org/apache/struts/,本次我用到的是struts2-2.3.2。jar包导入位置如图所示。

第三步:web.xml中配置struts2的过滤器,配置后的代码如下所示。

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
<display-name>struts2Demo</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> <!-- <welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list> -->
</web-app>

第四步:创建struts.xml配置文件。此配置文件在src根目录下,与包处于同一级。如下图所示。

配置文件中的内容如下所示。

<?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"><!-- 这里要和struts2版本号统一 --> <struts> </struts>

注意注释部分。到这里一个空的struts2项目已经准备完毕。接下来我们测试项目是否构建成功。

第五步:创建action测试类,代码如下。

package wjt.com.test.action;

import com.opensymphony.xwork2.ActionSupport;

public class TestAction extends ActionSupport{

    public String execute() throws Exception {
System.out.println("struts==========================");
return "success";
} }

action类继承ActionSupport并重写execute()方法。这里的action我们可以简单理解为MVC模式下的控制器。

第六步:在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"><!-- 这里要和struts2版本号统一 --> <struts>
<package name="default" extends="struts-default">
<action name="login" class="wjt.com.test.action.TestAction">
<result name="success">index.jsp</result>
</action>
</package> </struts>

这里package标记中name属性用作定义一个包名以区分其他人代码,extends属性用于继承一个父包,extends="struts-default"这句话是必须要有的,struts2项目启动会加载默认的此配置文件,我们在自定义之后必须有此操作才能使自定义代码生效;

action标记中的name属性是用作客户端访问时的路径相当于Servlet's path;action标记中的class属性则是用作与这个action所对应的aciton类的全路径;

action标记中的method属性时与action类的方法所对应不写默认为execute方法;

action标记内result中的name属性为其父标记所对应方法的返回值,实现从逻辑视图名到物理视图名的转化(逻辑视图=success,物理视图=index.jsp),不写默认为success;
若返回值与name属性值匹配则完成result标记内指定的路径进行跳转(本例就跳转到我们事先编写好的一个index.jsp页面)。

第七步:在webContent目录下创建一个名称为index的jsp文件,文件位置如下所示

并在<body></body>体内随意写一句话用于展示,代码如下。

<%@ 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> 这是Mr至简的第一个struts2项目! </body>
</html>

第八步:将struts2项目发布在tomcat下并启动无任何异常抛出后,在浏览器地址栏输入:http://localhost:8080/struts2Demo/login 进行请求,结果如下图所示。

到这里一个简单的struts2项目构建完毕,关于struts2的项目相对来说简单,建议大家在熟悉原理的情况下在自行构建项目进一步理解框架。不足的地方还请指教。

本文参考清华大学出版社--《Struts2+Spring3+Hibernate框架技术精讲与整合案例》第四章Struts2概述。

eclipse环境下基于tomcat-7.0.82构建struts2项目的更多相关文章

  1. eclipse环境下基于已构建struts2项目整合spring+hibernate

    本文是基于已构建的struts2项目基础上整合 spring+hibernate,若读者还不熟悉struts2项目,请先阅读 eclipse环境下基于tomcat-7.0.82构建struts2项目 ...

  2. Eclipse环境下配置Tomcat,并且把项目部署到Tomcat服务器上

    一 配置Tomcat 1.打开Eclipse,单击"Window"菜单,选择下方的"Preferences". 2.单击"Server"选项 ...

  3. 详细的图文教程来实现 eclipse环境下如何配置tomcat,并且把项目部署到Tomcat服务器上

    很多初学,尤其自学JavaWeb的朋友首次在eclipse下配置tomcat时,总会有种难下手的感觉,在此,通过图文解说的方法,最直观的向大家演示一遍该配置过程. 第一部分:eclipse环境下如何配 ...

  4. eclipse环境下如何配置tomcat

    eclipse环境下如何配置tomcat 很多初学,尤其自学JavaWeb的朋友首次在eclipse下配置tomcat时,总会有种难下手的感觉,在此,通过图文解说的方法,最直观的向大家演示一遍该配置过 ...

  5. .NET环境下基于RBAC的访问控制

    .NET环境下基于RBAC的访问控制 Access Control of Application Based on RBAC model in .NET Environment 摘 要:本文从目前信息 ...

  6. Tomcat:云环境下的Tomcat设计思路——Tomcat的多实例安装

    Cloud现在是一个热门的技术,Tomcat是学习Java的人一般都会接触的Web服务器,如果在Cloud环境下使用Tomcat,又当如何呢?不可避免的,要安装多个Tomcat了,这里称之为Tomca ...

  7. Windows环境下Android Studio v1.0安装教程

    Windows环境下Android Studio v1.0安装教程 准备工具 JDK安装包. 要求:JDK 7以及以上版本. Android Studio安装文件. Windows: exe(包含SD ...

  8. 【应用笔记】【AN004】VB环境下基于RS-485的4-20mA电流采集

    版本:第一版作者:周新稳 杨帅 日期:20160226 =========================== 本资料高清PDF 下载: http://pan.baidu.com/s/1c1uuhLQ ...

  9. 【转】Windows环境下Android Studio v1.0安装教程

    原文网址:http://ask.android-studio.org/?/article/9 http://android-studio.org/index.php/docs/experience/1 ...

随机推荐

  1. pm2部署多个nodejs项目配置教程

    实际项目部署中,我们服务器在启动的时候需要自动启动node服务.以前是通过liunx自带的命令启动.但是随着后台微服务越来越多.每次发布新程序.修改脚本太麻烦了.于是换成PM2来做. 1.首先安装pm ...

  2. RichEditBox 使用自定义菜单

    老周:当RichEditBox控件的上下文菜单即将弹出时,会引发ContextMenuOpening事件,我们需要处理该事件,并且将e.Handled属性设置为true,这样才能阻止默认上下文菜单的弹 ...

  3. win10 edge扩展

    安装红石预览版 https://dev.windows.com/zh-cn/microsoft-edge/extensions/#available-extensions 微软翻译 鼠标手势

  4. FreeType in OpenCASCADE

    FreeType in OpenCASCADE eryar@163.com Abstract. FreeType is required for text display in the 3D view ...

  5. ThreadPoolExecutor系列<三、ThreadPoolExecutor 源码解析>

    本文系作者原创,转载请注明出处:http://www.cnblogs.com/further-further-further/p/7681826.html 在源码解析前,需要先理清线程池控制的运行状态 ...

  6. 2年Java开发工作经验面试总结

    最近换了个公司,从三月底开始面,面到四月底,面了有快二十家公司.我是一个喜欢总结经验的人,每经过一场面试,我在回来的路上都会仔细回想今天哪些问题可以答的更好,或者哪些问题是自己之前没遇到过的,或者是哪 ...

  7. C#通过OpenCL调用显卡GPU做高效并行运算

    GPU的并行运算能力远超CPU,有时候我们会需要用到超大数据并行运算,可以考虑用GPU实现,这是一篇C#调用GPU进行运算的入门教程. 1: 下载相关的库: https://sourceforge.n ...

  8. Cocos 2d-X Lua 游戏添加苹果内购(二) OC和Lua交互代码详解

    这是第二篇 Cocos 2d-X Lua 游戏添加苹果内购(一) 图文详解准备流程 这是前面的第一篇,详细的说明了怎样添加内购项目以及填写银行信息提交以及沙盒测试员的添加使用以及需要我们注意的东西,结 ...

  9. Linux下Crontab定时任务的使用教程 以及 无法执行定时任务的解决方案

     前言 本文学习思路:Linux的corntab定时任务的使用教程  --> 定时任务无效的解决方案  Linux的corntab定时任务的使用教程 1. 首先,输入命令 打开crontab定时 ...

  10. swift之函数式编程(五)

    文章内容来源于<Functional Programing in Swift>,详情请看原著 The Value of Immutability swift 对于控制值改变有一些机制.在这 ...