码迷,mamicode.com
首页 > 其他好文 > 详细

struts2介绍

时间:2014-10-26 16:47:50      阅读:128      评论:0      收藏:0      [点我收藏+]

标签:des   style   blog   http   color   io   os   ar   使用   

struts2简介

Struts2框架发展

Struts于2000年5月由Craig McClanahan发起,并于 2001年7月发布了1.0版本,Struts一出现便大受欢迎,更成为了以后几年内web 开发的实际标准,Struts2是Struts的下一代产品,是在WebWork的技术基础上进行了合并

Struts2框架特点

1、基于Action的实现MVC框架 

2、拥有积极活跃的成熟社区 

3、使用Annotation和XML配置选项 

4、使用插件来扩展或修改框架特性 

5、与Spring,SiteMesh 和Tiles的集成 

6、使用OGNL表达式语言 

7、使用多种视图选项 

 

Struts2基本的工作过程

1、过滤器FilterDispatcher拦截所有请求

2、如果请求的是Action组件, 相应的拦截器会逐个对请求进行拦截处理

3、拦截器处理完毕, 会调用Action组件的默认业务方法execute()进行业务请求处理

4、根据业务方法返回结果值来选择适当的视图

 

Struts2 开发所需要的必要包(5个)

commons-fileupload-1.2.1.jar

freemarker-2.3.13.jar

ognl-2.6.11.jar

struts2-core-2.1.6.jar

xwork-2.1.2.jar

 

在web.xml中配置Struts2的过滤器

 

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" 
    xmlns="http://java.sun.com/xml/ns/javaee" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
    http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
  
  <filter>
      <filter-name>struts2</filter-name>
      <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
  </filter>
  
  <filter-mapping>
      <filter-name>struts2</filter-name>
      <url-pattern>/*</url-pattern>
  </filter-mapping>
</web-app>

 

HelloWorld的简单实例

(1)设计action组件

package demo.web;

import com.opensymphony.xwork2.Action;

public class HelloWorldAction{

    private String content;//保存回应结果数据
    
    public String getContent(){
        return content;
    }
    public void setContent(String content){
        this.content = content;
    }
    
    //响应用户请求,业务处理方法
    public String execute (){
        content = "Hello World";
        return Action.SUCCESS;
    }
}

(2)设计视图组件

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@taglib uri="/struts-tags" prefix="s" %>        <!-- 引入struts2标签 -->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    
    <title>Struts2 Demo</title>
    <meta http-equiv="pragma" content="no-cache">
    <meta http-equiv="cache-control" content="no-cache">
    <meta http-equiv="expires" content="0">    
    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    <meta http-equiv="description" content="This is my page">
    <!--
    <link rel="stylesheet" type="text/css" href="styles.css">
    -->
  </head>
  
  <body>
  <p style="color: red;"><s:property value="content"/></p>    <!-- action中定义的content属性名  两种方式 -->
  <p style="color: blue;">${content}</p>
  </body>
</html>

(3)配置Action和视图结果

<?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>
        <package name="helloworld" extends="struts-default">    <!-- name:自定义包名  extends:继承自struts2的缺省包struts-default -->
            <action name="hello" class="demo.web.HelloWorldAction">    <!-- name:action请求的映射名  class:action组件的全名 -->
                <result name="success">/helloworld.jsp</result><!-- name:action中execute对应的结果别名  /helloworld.jsp:视图页面中的URL地址 -->
               </action>
        </package>
    
    </struts>

(4)调试运行

在地址栏输入URL来请求Action组件,其URL地址格式如下:

http://localhost:8080/Struts2_1/hello.action或者http://localhost:8080/Struts2_1/hello!execute

bubuko.com,布布扣

 

struts2介绍

标签:des   style   blog   http   color   io   os   ar   使用   

原文地址:http://www.cnblogs.com/yby-blogs/p/4052097.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!