Struts2框架简介及入门

Struts2 简介及入门

Struts2 概述

Struts2 是目前较为普及和成熟的基于MVC设计模式的web应用程序框架,它不仅仅是Struts1 的升级版本,更是一个全新的Struts架构。最初,是以WebWork框架和Struts框架为基础,通过提供增强和改进的Struts框架,进而实现简化web技术人员开发工作的目标。不久之后,Webwork框架和Struts社区联合创造了现在流行的Struts2框架

Struts2 框架的优点

  1. 开源的项目 - 可扩展
  2. MVC设计模式 - 实现了MVC设计模式
  3. 配置简单 - 通过简单的配置,即可实现复杂的业务逻辑
  4. 表达式/标签库 - Struts2提供有很强大的表达式,和标签库,标签可自行样式,主题,模板
  5. 验证机制 - Struts2提供有强大的数据验证框架
  6. 支持国际化 - Struts2国际化系统,一个页面,不同的展示
  7. AJAX - Struts2还提供有AJAX支持,使得ajax操作变得简单
  8. 异常处理 - 在Struts2 中,还配有异常处理机制,可综合处理异常,不用单独处理
  9. AOP - Struts2 拦截器采用AOP设计,时得开发变得更加灵活
  10. 视图技术 - Struts2 为多种视图选项(JSP、Freemarker、Velocity、XSLT等)提供支持。

Struts2 环境设置

下载Struts2文件

点击进入下载最新Struts2文件

这块使用的是struts-2.5.12-all.zip,下载解压后即可看到Struts2文件目录
Struts2文件目录

Struts2-HelloWorld

下载了Struts2文件,接下来就让我们进行配置,跑个HelloWorld!

  • 新建一个动态的Web工程(Dynamic Web Project)
    动态WEB文件目录
  • WEB-INF\lib下导入Struts2核心jar和其他jar(版本根据自己实际情况)
    commons-fileupload-x.y.z.jar
    commons-io-x.y.z.jar
    commons-lang-x.y.jar
    commons-logging-x.y.z.jar
    freemarker-x.y.z.jar
    javassist-x.y.z.GA.jar
    log4j-api-x.y.z.jar
    log4j-core-x.y.z.jar
    ognl-x.y.z.jar
    struts2-core-x.y.z.jar
    以上jar可在下载的Struts2文件lib中找到,有些可百度下载或者下载我打包好的Struts2HelloWorld
  • 接下来就开始真正写代码了
    helloWorldAction
  1. 新建类(HelloWorldAction.java)
    Action类是Struts2 应用程序的关键,通过它来实现我们所需的业务逻辑
package com.wanl.action;

public class HelloWorldAction {

    public String name;
    
    //无参构造
    public HelloWorldAction() {
        System.out.println("HelloWorldAction.HelloWorldAction()");
    }
    
    public String execute(){
        //写业务逻辑!
        System.out.println("execute..." + name);
        return "success";//表示逻辑视图
    }
    
}
  1. 创建所需视图(hello.jsp)
    hello.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
		<title>欢迎</title>
	</head>
	<body>
		hello${name}
	</body>
</html>
  1. 创建Struts2配置文件(struts.xml)
    struts.xml
    切记struts.xml放在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>

	<package name="day01" namespace="/" extends="struts-default">
		
		<action name="hello" class="com.wanl.action.HelloWorldAction">
			<result name="success">hello.jsp</result>
		</action>
		
	</package>

</struts>	
  1. 回到我们的web.xml
    web.xml
    配置Struts2核心过滤器
<?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>01_Struts2_helloworld</display-name>
    <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>
  1. 将项目加到服务器,启动tomcat9.0
    启动tomcat9.0
  2. 浏览器发送请求(http://(自己本地地址及tomcat端口)/01_Struts2_helloworld/hello.action)
    结果
    我们可以看到成功返回到了我们的hello.jsp,仔细想想我们xml所配的东西,就能够想明白了!
    当我们,们多发几次请求,看到控制台打印如下
    打印
    可得结论Struts2每一次请求都会创建一个Action,这时我们在请求后面加上name参数,看会发生什么?
    http://localhost/01_Struts2_helloworld/hello.action?name=struts2
    传参
    在jsp页面通过el表达式拿到了所传参数,是不是很神奇,这都是Struts2为我们所做的一些处理(值栈知识点)
下载Struts2HelloWorld案例

点击下载Struts2HelloWorld

Struts2 运行原理图

Struts2原理图

以上就是Struts2HelloWorld

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值