Struts2.5的的环境搭建及跑通流程
Struts2.5
Struts中的MVC
Model部分
View部分
Controller组件


Struts2.5的环境搭建
第一步:先上官网下载Struts2.5的相关jar包学习用处的推荐第一个,第一个是一下全部综合 ,第二个是带有struts案例的,第三个是迷你版最终开发上线用,第四个是所有的jar包,第五个是帮助文档

第二步:创建Web项目,这个不会的可以看看这篇Jsp运行环境——Tomcat
第三步:我们下下来的文件中,搭建环境只需要运用到几个包,还有声明一下,不同的struts的版本不一样他的jar包引用也不一样的,我这里是Struts2.5的,还有一个是需要注意的是,一般用JSP的都使用Tomcat,这个tomcat的版本也需要在8.0.9以上才可以运行起来
现在挑选几个jar包,将其放入WEB_INF下的lib目录下

小小的解释一下这几个包的作用:
- commons-fileupload-1.3.3.jar 用于上传下载
- commons-io-2.4.jar java.io 扩展包
- commons-lang3-3.6.jar java.lang 扩展包
- freemarker-2.3.23.jar 模板引擎
- javassist-3.20.0-GA.jar Java字节码库
- log4j-api-2.8.2.jar 用于记录日志
- ognl-3.1.12.jar 标签库
- struts2-core-2.5.12.jar 核心包
第四步:需要编写web.xml文件,只要添加这个filter就可以
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">
<display-name>StrutsProject</display-name>
<welcome-file-list>
<welcome-file>login.jsp</welcome-file>
</welcome-file-list>
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
</web-app>
第五步:还需要编写一个Struts.xml文件,这里面写一些控制页面的走向的action实现一下方法啥的,这个文件在src下建立,这里面我多写了几个,有方法的动态调用,还有普通的调用
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
"http://struts.apache.org/dtds/struts-2.5.dtd">
<struts>
<!-- 设置开发者模式 修改action中的名字可以不用重启服务器 -->
<constant name="struts.devMode" value="true"></constant>
<!-- 只有在后缀中有(.do)的才经过,这个value可以自己修改 -->
<constant name="struts.action.extension" value="do"></constant>
<!-- 开启动态方法调用 -->
<constant name="struts.enable.DynamicMethodInvocation" value="true"/>
<!-- strict-method-invocation="true"指动态的方法调用 -->
<package name="default" extends="struts-default" namespace="">
<!-- 只允许本地的方法通过 regex:.* 返回值类型一样,后期可以修改通配-->
<global-allowed-methods>regex:.*</global-allowed-methods>
<action name="demo" class="com.action.DemoAction" method="execute">
<result name="success">/index.jsp</result>
</action>
<action name="login" class="com.action.LoginAction" method="logintest">
<result name="success">/index.jsp</result>
<result name="error">/login.jsp</result>
</action>
<!-- DMI(DynamicMethodInvocation)动态调用 -->
<action name="user" class="com.action.StrutsDemo" >
<result name="success">/index.jsp</result>
</action>
</package>
</struts>
在这里解释一下其中一些属性的含义

第六步:我先编写一个jsp的登入页面,这里面的login.do 是我在struts中设定的
<body>
<form action="login.do" method="post">
用户名:<input type="text" name="username"/><br />
密—码:<input type="password" name="password"/><br />
<input type="submit" /><br />
</form>
</body>
第七步:创建action,也就是创建几个类去处理一些业务,继承于ActionSupport,也可以是action,我先写一个登入界面的action,在jsp页面传来的值来判断
我先说说其中的一些问题所在,在以前我们用的是Servlet来实现这些业务的,接收也是用request.getParameter()来获取页面的值的在创建一些方法,调用这些方法逻辑判断其中是否正确再返回,现在呢,Struts框架帮我们封装了,将中间的Servlet不需要我们编写了,想要更深层次的,需要看Struts的源码,,,只是运用很简单,获取只需要定义这个传过来知道一个变量在利用set方法,而响应传给页面用get方法,一般返回的是字符串
public class LoginAction extends ActionSupport {
private String username;
private String password;
private String rString="成功返回";
public String getrString() {
return rString;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String logintest() {
String string=null;
if (password.equals("123456")&&username.equals("admin")) {
string=SUCCESS;
}else {
string=ERROR;
}
return string;
}
}
在说一下,关于传值到页面上可以用EL表达式直接是变量名
就这样环境搭建和流程的跑通也完成了
【版本声明】
Struts2.5的的环境搭建及跑通流程的更多相关文章
- Struts2+Spring3+Mybatis3开发环境搭建
本文主要介绍Struts2+Spring3+Mybatis3开发环境搭建 Struts和Spring不过多介绍. MyBatis 是支持普通 SQL 查询,存储过程和高级映射的优秀持久层框架.MyBa ...
- 使用Typescript重构axios(二)——项目起手,跑通流程
0.系列文章 1.使用Typescript重构axios(一)--写在最前面 2.使用Typescript重构axios(二)--项目起手,跑通流程 3.使用Typescript重构axios(三)- ...
- flutter环境搭建及跑起来demo(多图慎入)
话不多说,直接上 [1]环境搭建 从git上面clone下来 git clone -b beta https://github.com/flutter/flutter.git 由于国内网络的问题,我就 ...
- struts2+Hibernate4+spring3+EasyUI环境搭建之一:准备工作
SSHE环境搭建第一步:安装软件(经验:安装软件路径最好不要有空格.括弧.中文等特殊符号)1.Jdk72.tomcat73.maven34.MyEclipse10.7 破解及优化设置(设置本地安装jd ...
- PHP LAMP环境搭建及网站配置流程(完整版)
心血来潮想做一个自己的博客网站,写一些文章做技术分享,平时遇到的一些问题的解决办法都记录下来,网站搭建成功,那么第一篇博客自然就是整个网站的搭建以及域名的注册.备案.解析流程,总共分为以下几步: 1. ...
- Maven+struts2+spring4+hibernate4的环境搭建
搭建Maven+struts2+spring4+hibernate4其实并不难!但开始弄的时候还是费了我好大的力气,老是出现这样那样的错误!好了,废话不多说,开始搭建开发环境. 一.Myeclipse ...
- apache环境搭建(xampp跑不起来)
写在前面:之前(2016年)学jq时,学到ajax时,需要搭建apache,我开始安的xampp集成好的软件包,但是我的电脑咋弄都跑不起来,找了好多方法还是没用,最后无奈宣告放弃.但是皇天不负有心人, ...
- struts2+Hibernate4+spring3+EasyUI环境搭建之三:引入sututs2以及spring与sututs2整合
1.引入struts2 <!-- struts2 和心包 排除javassist 因为hibernate也有 会发生冲突--> <dependency> <groupId ...
- struts2+Hibernate4+spring3+EasyUI环境搭建之四:引入hibernate4以及spring3与hibernate4整合
1.导入hibernate4 jar包:注意之前引入的struts2需要排除javassist 否则冲突 <!-- hibernate4 --> <dependency> & ...
随机推荐
- C#字典转换成where条件
where 1=1 and Dictionary[key1]=Dictionary[value1] and Dictionary[key2]=Dictionary[value3].... /// &l ...
- Unity-Shader-光照模型之漫反射
[旧博客转移 - 2016年4月3日 23:27] 前面的话: 在现实生活中,我们看见能看见的东西都是光反射出来的颜色,如果反射光太弱,或者没有进入你的视角范围,你看到的就是黑色的. 在游戏中光分为几 ...
- JavaWeb 后端 <九> 之 JDBC加强
一.大结果集的分页(重点,难点) 1.分批次查询:分页 2.基于数据库的分页:依赖的是数据库的分页语句(不同数据库是不同的) MySQL:每页显示10条. select * from XXX limi ...
- JAVA的高并发编程
一.多线程的基本知识 1.1进程与线程的介绍 程序运行时在内存中分配自己独立的运行空间,就是进程 线程:它是位于进程中,负责当前进程中的某个具备独立运行资格的空间. 进程是负责整个程序的运行,而线程是 ...
- AddBinary
二进制加法 输入2个字符串,字符串内由0和1组成:计算二者之和,返回字符串 Given two binary strings, return their sum (also a binary stri ...
- 基于微信小程序的系统开发准备工作
腾讯推出微信小程序也有一段时间了,在各种行业里面也都掀起一阵阵的热潮,很多APP应用被简化为小程序的功能迅速推出,同时也根据小程序的特性推出各种独具匠心的应用,相对传统的APP来说,微信小程序确实能够 ...
- xdu_1165:均值滤波
题目: Problem A 均值滤波问题描述图像中的噪声在空间上的自相关很低,因此往往可以用均值滤波加以削弱.具体来说,对于每个像素点P(x; y),我们选出所有距P 的Manhattan 距离不超过 ...
- pug模板引擎(原jade)
前面的话 为什么要引入pug,pug有什么特别之处呢?有一些嵌套层次较深的页面,可能会出现巢状嵌套,如下图所示 在后期维护和修改时,一不小心少了一个尖括号,或者某个标签的开始和闭合没有对应上,就会导致 ...
- BI服务器配置与客户端情况
1. BI描述 FineBI是一款纯B/S端的商业智能分析服务平台:支持通过web应用服务器将其部署在服务器上,提供企业云服务器.用户端只需要使用一个浏览器即可进行服务平台的访问和使用.因此在配置使用 ...
- IDEA+Java:Selenium+Maven+TestNG基本WebUI自动化测试环境搭建
IDEA+java:Selenium+Maven+TestNG 本文介绍的测试环境,应该是最基本的测试环境了,也是很多文章都有写,这里做一个完整的图文配置整理,方便阅读理解! 使用maven的好处,由 ...