struts框架介绍(Struts2框架基础)
struts框架介绍(Struts2框架基础)Struts 2 标签:Struts 2 提供了一个强大的标签库,该标签库提供了大量的标签,使用这些 标签可 以简化JSP页面的开发配置文件:Struts 2 框架提供一个名为struts.xml的配置文件,使用它来配置应用程序中组 件控制器:控制器由核心过滤器StrutsPrepareAndExecuteFilter、若干拦截器和Action组件实 现模型:模型由JavaBean或是JOPO实现,它可实现业务逻辑视图:通常由JSP页面实现,也可以由Velocity Template、FreeMarke或其他表示层技术实 现
上次用了hibernate做了一个简单数据库与前台连接的小程序,能调用数据库进行增删该查。
这次我用struts 2 框架实现MVC模式的设计。
Struts 2 实现了MVC设计模式,其中,模型(Model)表示业务和数据库代码,视图(View)页面设计代码,控制器(Controller)表示导航代码。所有这些使struts 2成为java web应用的基本框架。
Struts 2主要包括控制器、Action对象、视图jps页面和配置文件等。如图所示。
Struts 2 的MVC架构
-
控制器:控制器由核心过滤器StrutsPrepareAndExecuteFilter、若干拦截器和Action组件实 现
-
模型:模型由JavaBean或是JOPO实现,它可实现业务逻辑
-
视图:通常由JSP页面实现,也可以由Velocity Template、FreeMarke或其他表示层技术实 现
-
配置文件:Struts 2 框架提供一个名为struts.xml的配置文件,使用它来配置应用程序中组 件
-
Struts 2 标签:Struts 2 提供了一个强大的标签库,该标签库提供了大量的标签,使用这些 标签可 以简化JSP页面的开发
这一步基本事可以省略的,因为大多数的环境若是支持Struts 2 的话应该会自带它的标签库。
在web.xml 中添加过滤器要使web程序支持struts 2 功能,需要在web.xml文件中声明一个核心过滤器类和映射。
创建struts.xml配置文件Struts 2 的每一个应用程序都有一个配置文件struts.xml,该文件用来指定动作类关联的类、执行的方法以及执行的结果等。在开发环境下配置文件应该保存在src目录中,Web应用打包后保存在WEB-INF\classes目录中。
创建一个向客户发送一条信息的应用程序,完成下面三步:1.创建一个Action类执行某种操作;2.创建一个JSP页面表示消息;3.在struts.xml文件中建立Action类与视图的映射。
-
1 创建Action动作类
该页面的动作是用户单击HTML页面中的超链接向web服务器发送以恶搞请求。动作类execute()被执行并返回SUCCESS结果。Struts根据该结果返回一个视图页面。
HelloUserAction.java
package com.Model;
import com.opensymphony.xwork2.ActionSupport;
public class HelloUserAction extends ActionSupport {
private String message; //动作类的属性
public String getMessage(){
return message;
}
public void setMessage(String message){
this.message=message;
}
public String execute() throws Exception{
setMessage("Hello Struts User");
return SUCCESS;
}
}
/*程序覆盖了execute(),在其中调用set Message()设置message属性值,然后返回字符串常量SUCCESS。该常量继承了Action接口。*/
-
2 创建视图页面
用户动作是通过index.jsp页面的超链接触发的。
index.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
-
<%@ taglib prefix="s" uri="/struts-tags" %>
-
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-
<html>
-
<head>
-
<title>Basic Struts 2 Application - Welcome</title>
-
</head>
-
<body>
-
<h3>Welcome To Struts 2!</h3>
-
<p><a href="<s:url action='hello'/>">Hello User</p>
-
</body>
-
</html>
该页面中使用了Struts 2 的标签,要使用此标签应该使用taglib指令导入标签库:
<%@ taglib prefix="s" uri="/struts-tags"%>
预览效果
下面创建JSP页面hellouser.jsp来显示HelloUserAction动作类的message属性值。
hellouser.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@taglib prefix="s" uri="/struts-tags" %>
<html>
<head>
<title>Hello User!</title>
</head>
<h2><s:property value="message"/></h2>
</html>
页面中<s:property >标签显示HelloUserAction动作类的message的属性值。通常在value属性中的message告诉struts框架调用动作类的getMessage()。
-
3 修改struts。xml配置文件
struts.xml 文件用来配置请求动作、Action类和结果视图之间的联系。它通过映射来告诉Struts 2使用哪个Action类响应用户的动作,执行哪个方法,根据方法返回字符串用哪个视图。
编辑struts.xml文件,在<package>元素中添加<action>定义。
struts.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
<constant name="struts.devMode" value="true" />
<package name="basicstruts2" extends="srtuts-defalut" namespace="/">
<action name="hello" class="com.Model.HelloUserAction" method="execute" >
<result name="success">/hellouser.jsp</result>
</action>
</package>
</struts>
struts.xml的可视化窗口
dan
单击Hello User之后
以上的小程序只是简单的介绍了Struts 2 的使用,没有什么炫酷的效果,但要是结合我之前写的hibernate做一个登录注册系统的话,只要能熟练的掌握,还是很方便快捷的比一般的编写方法要更直观更容易理解。
不喜欢打广告,有缘下次再见!