博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
eclipse环境下基于tomcat-7.0.82构建struts2项目
阅读量:4685 次
发布时间:2019-06-09

本文共 2244 字,大约阅读时间需要 7 分钟。

开山第一篇,毕业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的过滤器,配置后的代码如下所示。

struts2Demo
struts2
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
struts2
/*

 

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

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

 

注意注释部分。到这里一个空的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文件中配置过滤器转发的顶下页面,代码如下。

index.jsp

这里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"%>
Insert title here这是Mr至简的第一个struts2项目!

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

 

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

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

转载于:https://www.cnblogs.com/wujingtaocoding/p/7858541.html

你可能感兴趣的文章
ajax.net updatepanel 中数据量过大导致 500 错误
查看>>
Saiku部分函数解析(八)
查看>>
Hdu 2100 Lovekey 模拟大数相加<进位转换..>
查看>>
html标签pre在php调试中使用技巧
查看>>
简单的下路由(我们可以在控制器中看到路由参数)
查看>>
springmvc 加载静态文件失败
查看>>
Oracle 系统表大全
查看>>
微信个人公众号推广
查看>>
hdu 4081 次小生成树
查看>>
springboot 整合 mybatis,thymeleaf
查看>>
SQL Server 同步复制中的MSSQL_REPL-2147201001問題處理
查看>>
HDOJ 动态规划总结
查看>>
拜师鸟哥之linux学习体会(5)——linux的档案权限与目录设置
查看>>
职业 行业 2 博客
查看>>
golang--安装、配置以及Hello World!
查看>>
【机器学习】支持向量机(SVM)
查看>>
js控制页面的全屏展示和退出全屏显示
查看>>
PAT 1129 Recommendation System
查看>>
托管调试助手“NonComVisibleBaseClass”检测到问题
查看>>
《DSP using MATLAB》Problem 7.1
查看>>