Struts官网:http://struts.apache.org/

Struts2框架预先实现了一些功能
    1:请求数据自动封装
    2:文件上传的功能
    3:对国际化功能的简化
    4:数据校验的功能

第一:首先需要说明的是Struts就是基于MVC模式的框架!(struts其实也是servlet封装,提高开发效率!)

第二:Struts开发步骤:

1. web项目,引入struts - jar包

2. web.xml中,引入struts的核心功能,配置过滤器

3. 开发action

4. 配置action     --->src/struts.xml


下面详细介绍一下第一个struts2的开发流程:

1. 创建动态web项目,引入struts - jar包(这里引入8个jar包,如下所示。很容易就可以得到就不分享了哦)

commons-fileupload-1.3.1.jar 【文件上传相关包】
commons-io-2.2.jar            
commons-lang3-3.1.jar         【struts对java.lang包的扩展】
freemarker-2.3.19.jar         【struts对标签模板库jar文件】
javassist-3.11.0.GA.jar         【struts对字节码的处理相关jar】
ognl-3.0.6.jar                 【Ognl表达式功能支持表】
struts2-core-2.3.16.3.jar     【struts2核心功能包】
xwork-core-2.3.16.3.jar         【xwork核心包】

2. 在web.xml中,引入struts的核心功能,配置过滤器(已经加了注释,不作多叙述)

Tomcat启动---》加载自身web.xml---》加载所有项目的web.xml
通过在项目的web.xml中引入过滤器
struts2的核心功能的初始化,是通过过滤器完成的。

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
  3. <display-name>struts2_20170219</display-name>
  4. <welcome-file-list>
  5. <welcome-file>index.html</welcome-file>
  6. <welcome-file>index.htm</welcome-file>
  7. <welcome-file>index.jsp</welcome-file>
  8. <welcome-file>default.html</welcome-file>
  9. <welcome-file>default.htm</welcome-file>
  10. <welcome-file>default.jsp</welcome-file>
  11. </welcome-file-list>
  12.  
  13. <!-- 其他过滤器 -->
  14.  
  15. <!-- 引入struts2的核心过滤器 -->
  16. <filter>
  17. <!-- 过滤器的名称 -->
  18. <filter-name>struts2</filter-name>
  19. <!-- 过滤器类 -->
  20. <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
  21. </filter>
  22. <filter-mapping>
  23. <!-- 过滤器名称 -->
  24. <filter-name>struts2</filter-name>
  25. <!-- 过滤器映射 -->
  26. <url-pattern>/*</url-pattern>
  27. </filter-mapping>
  28. </web-app>

此处插一句,配置过滤器的时候,filter-class里面的内容我是这样获取的,因为写法是死的,如图,仅供参考。

<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>

双击点开之后,复制此句即可。

3. 开发action,此处习惯继承了ActionSupport.

  1. package com.bie;
  2.  
  3. import com.opensymphony.xwork2.ActionSupport;
  4.  
  5. /**
  6. * @author BieHongLi
  7. * @version 创建时间:2017年2月19日 下午3:08:53
  8. * 开发action,处理请求
  9. */
  10. public class HelloAction extends ActionSupport{
  11.  
  12. private static final long serialVersionUID = 1L;
  13.  
  14. /**
  15. * 重写execute,处理请求的方法
  16. */
  17. @Override
  18. public String execute() throws Exception {
  19. System.out.println("访问到了action,正在 处理请求");
  20. System.out.println("hello world!!! struts2");
  21. return SUCCESS;
  22. }
  23.  
  24. }

4. 配置action --->src/struts.xml

  1. <?xml version="1.0" encoding="UTF-8" ?>
  2. <!DOCTYPE struts PUBLIC
  3. "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
  4. "http://struts.apache.org/dtds/struts-2.0.dtd">
  5.  
  6. <struts>
  7. <!-- 生命包 -->
  8. <package name="helloWorld" extends="struts-default">
  9. <!-- 定义action -->
  10. <action name="hello" class="com.bie.HelloAction" method="execute">
  11. <!-- 显示成功的jsp页面 -->
  12. <result name="success">success.jsp</result>
  13. </action>
  14. </package>
  15. </struts>

配置struts.xml的时候使用下面的模板,在上面直接进行加工即可。

  1. <?xml version="1.0" encoding="UTF-8" ?>
  2. <!DOCTYPE struts PUBLIC
  3. "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
  4. "http://struts.apache.org/dtds/struts-2.0.dtd">
  5.  
  6. <struts>
  7.  
  8. </struts>

最后了,当然直接运行就行了,结果如下所示:

这个是在浏览器运行的结果:

第一个Struts2实例之hello world!的更多相关文章

  1. 开发一个struts2的实例

    前面一篇博客(实现struts2框架)带大家对基于mvc业务流程熟悉了一下,现在我们就用对mvc实现最好的框架struts2来开发一个应用实例.虽然现在MyEclipse8.5以上版本已经开始支持St ...

  2. Struts2实例详解(转载)

    Struts2(上) 一.        经典的MVC模式 二.        Struts1.x对MVC的实现 三.        Struts1.x的主要组件和作用 组件 作用 ActionSer ...

  3. Struts2 实例(转载)

    一.准备工作及实例 1.解压struts-2.1.6-all.zip apps目录:struts2自带的例子程序docs目录:官方文档. lib 目录:存放所有jar文件. Src 目录:源文件存放地 ...

  4. Android 只开启一个Activity实例

    在一个Activity中,多次调用startActivity()来启动另一个Activity,要想只生成一个Activity实例,方法有两种. 方法一:设置起动模式 一个Activity有四种启动模式 ...

  5. 将oracle冷备份恢复到另外一个数据库实例中

    因更换服务器需要将Oracle数据库转移到另外台Oracle中.说明: 1.测试环境为:windows server2003 和 oracle 10g. 2.2台服务器安装的程序目录一样,数据目录不一 ...

  6. 第一个python实例--监控cpu

    #第一个python实例:监控cpu #/bin/bash/env Python from __future__ import print_function from collections impo ...

  7. 第一个Struts2程序之HelloWorld

    1.Struts2 简介 Struts 2是Struts的下一代产品,是在 struts 1和WebWork的技术基础上进行了合并的全新的Struts 2框架.其全新的Struts 2的体系结构与St ...

  8. servlet的一个web容器中有且只有一个servlet实例或有多个实例的理解1

    servlet的一个web容器中有且只有一个servlet实例或有多个实例的理解 (2013-06-19 19:30:40) 转载▼     servlet的非线程安全,action的线程安全 对提交 ...

  9. 12C RAC中的一个数据库实例自动crash并报ORA-27157、ORA-27300等错误

    rhel7.2上安装12C RAC数据库后,其中一个数据库实例经常会自动crash.查看alert日志发现以下错误信息: Errors in file /d12/app/oracle/diag/rdb ...

随机推荐

  1. poi-对于word的操作(一)

    2017-03-02 15:17:30 使用的jar包是poi 3.13 实现对word的存入,字体.颜色.大小的控制 测试类: package poi.test; public class Word ...

  2. 通过 LPeg 介绍解析表达式语法(Parsing Expression Grammars)

    通过 LPeg 介绍解析表达式语法(Parsing Expression Grammars) 译者: FreeBlues 修订版本: 1.00 最新链接: http://www.cnblogs.com ...

  3. 转 -- 详解python的super()的作用和原理

    原文地址 Python中对象方法的定义很怪异,第一个参数一般都命名为self(相当于其它语言的this),用于传递对象本身,而在调用的时候则不必显式传递,系统会自动传递. 今天我们介绍的主角是supe ...

  4. 浅谈分词算法(5)基于字的分词方法(bi-LSTM)

    目录 前言 目录 循环神经网络 基于LSTM的分词 Embedding 数据预处理 模型 如何添加用户词典 前言 很早便规划的浅谈分词算法,总共分为了五个部分,想聊聊自己在各种场景中使用到的分词方法做 ...

  5. 字符串数字转换成对应的Double数值

    一,介绍 前面实现了字符串转换成整形数值.参考这里: 它不支持小数,不支持符号(正.负号) 现在实现一个更复杂一点字符串转换成数值的程序. 它支持“浮点字符串”转换成对应的浮点数值,如: " ...

  6. Mybatis中的StatementType

    原文:http://luoyu-ds.iteye.com/blog/1517607 要实现动态传入表名.列名,需要做如下修改 添加属性statementType=”STATEMENT” 同时sql里的 ...

  7. luogu P1081 开车旅行

    传送门 这题的暴力做法显然是照题意模拟,从每个点出发暴力跳.而这个暴跳显然是可以倍增优化的,就是预处理出从每个点,(一开始是A)往后跳\(2^k\)步,能到哪里,以及\(A\)和\(B\)的路程,然后 ...

  8. C - 数字配对 (网络流 最大费用最大流)

    题目链接:https://cn.vjudge.net/contest/281959#problem/C 题目大意:中文题目 具体思路:用网络流的思想,我们求得是最大的匹配数,那么我们按照二分图的形式去 ...

  9. 前端 - js方式Ajax/ jquery方式Ajax / 伪 ajax /伪ajax 进阶方式

    DJANGO环境搭建: 目录文件: 关闭CSRF 添加目录文件路径 配置url 视图配置: index页面配置: 测试:(成功) 进入正题: ajax 通过GET提交数据至后台: <!DOCTY ...

  10. Maven入门-安装及配置(一)

    0.Maven简介 三种仓库: