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表达式直接是变量名
就这样环境搭建和流程的跑通也完成了
【版本声明】
最新文章
- 基于Hadoop的密码安全级别验证
- .Net的内置对象之一 Request
- java 打包过程及如何使用第三方jar包
- 如何用rake tasks 生成migration对应的sql
- webpack 无法安装
- Tomcat 6.0下配置HTTPS
- HIBERNATE - 符合Java习惯的关系数据库持久化(精华篇)
- nginx之如何获取真实客户端ip
- stagefright框架(一)Video Playback的流程
- C++14介绍
- Delphi中解析Xml的控件-SimDesign NativeXml
- 自己动手系列——实现一个简单的LinkedList
- 028hibernate缓存(性能优化策略)
- MVC发布网站
- RecyclerView 加入一个滑动控件bug处理 GridView只显示第一行
- CSS透明opacity和IE各版本透明度滤镜filter的准确用法
- 移动端 rem适配方法
- Generator和Coroutine学习
- codeblock 生成和使用makefile
- deepin卸载mysql并安装设置mysql5.7
热门文章
- 修改ElementUI源码实践
- Centos 6.5 安装python3.6
- 【学习笔记】C# 封装和继承
- Openfire3.9.1+jdk1.7导入到eclipse中
- 第一章:火狐浏览器 : 环境配置: FireFox 版本38 + jdk 7 + selenium 2.53.6 + selenum-version 2.48.2
- Linux日志分析ELK环境搭建
- 【SqlServer系列】集合运算
- HDOJ-2006求奇数的乘积
- [Tyvj 1952] Easy
- HTML5使用Canvas来绘制图形