struts简单入门

伊豚      2022-02-06     18

关键词:

本章主要讲解Struts2简单入门,第一个程序的建立


全部代码下载:
Github链接:链接https://github.com/wpeace1212/javaBlog/tree/master/struts2Demo
写文章不易,欢迎大家采我的文章,以及给出有用的评论,当然大家也可以关注一下我的github;多谢;

1.Struts2介绍:

  1. 简介:
    Struts 2以WebWork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与ServletAPI完全脱离开,所以Struts 2可以理解为WebWork的更新产品。主要用在MVC模式的控制层;
    01
Struts2框架预先实现了一些功能:
1. 请求数据自动封装
2. 文件上传的功能
3. 对国际化功能的简化
4. 数据效验功能
……………….

2.下载Struts2的jar包
下载地址:http://archive.apache.org/dist/struts/binaries/
我用的是struts-2.3.16.1-all.zip这个版本,我的下载地址为:http://download.csdn.net/detail/peace1213/9371320

2.Struts2的Hello peace:

  1. 第一步建立动态web工程并引入jar包:
    建立工程不做介绍;如果只是简单的开发没有必要到下载的文件中将所有lib的文件引入,引入简最小的包就可以了。
    解压刚才下载的压缩包struts-2.3.16.1-all.zip,在apps文件夹下有个struts2-blank.war包,打开它,到WEB-INF/lib目录下,如下图所示,即为所需的最小包。包含的包应该和具体的Struts版本有关。
    02
  2. 配置工程的web.xml文件:
    打开web.xml文件增加一个过滤器的配置,配置Struts2控制器的核心过滤器StrutsPrepareAndExecuteFilter
    注意:如果你使用的是2.1.3以前的版本配置的是FilterDispatcher,但是从2.1.3版本后此类已经过时:
    配置方式如下:
<?xml version="1.0" encoding="UTF-8"?>
<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">
  <display-name>struts2Demo</display-name>
  <!-- Struts2的配置 -->
  <filter>
  <!-- 配置过滤器的名字 -->
    <filter-name>struts2</filter-name>
  <!--  配置核心过滤器类 -->
    <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
  </filter>
<!--配置要拦截的URL,辞去配置全部拦截 -->
  <filter-mapping>
      <filter-name>struts2</filter-name>
      <url-pattern>/*</url-pattern>
  </filter-mapping>
</web-app>

3.编写action类
Struts2的action类不需要实现任何接口,只要是一个包含execute方法的普通类(POJO)就行;当执行完必要的拦截器,程序会执行execute方法
action类如下:

public class HelloAction {
    //定义属性用于获得请求参数
    private String name;
    private String pass;
    public void setName(String name) {
        this.name = name;
    }
    public void setPass(String pass) {
        this.pass = pass;
    }
    //定义action类的execute方法
    public String execute()throws Exception{
        if("peace".equals(name)&&"123456".equals(pass)){
            return "success";

        }
        else{
            return "error";
        }
    }
}

4.配置struts.xml
在src文件夹右击建立struts.xml文件部署的时候会自动发布到WEB-INF/classes目录下,这是struts默认会加载的文件,用于配置struts2需要调用的action。文件如下:建议直接复制粘贴:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
    "http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>
<!-- 配置一个package 必须继承struts-default-->
<package name="struts2" extends="struts-default">
    <!-- 配置action,名字hello是访问url使用的:hello.action-->
      <action name="hello" class="com.rlovep.hello.HelloAction">
         <!-- 如果为success就跳转到success.jsp -->
         <result name="success">/success.jsp</result>
          <!-- 如果为error就跳转到error.jsp -->
         <result name="error">/error.jsp</result>
      </action>
</package>
</struts>

5.写jsp页面:此步其实也可以省略;
登陆页面就是简单的表单提交:注意提交的动作需要为hello

<%@ 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 -->
<form action="hello" method="get">
   用户名:<input type="text" name="name" /><br/>
   密码:<input type="password" name="pass"/>
  <input type="submit" value="提交"/>
</form>
</body>
</html>

成功页面和错误页面如下:

##成功页面:
<title>success</title>
</head>
<body>
<%
  String name=request.getParameter("name");
  out.write(name+"登陆成功");
%>
</body>
##错误页面:
<body>
账户名或密码错误
</body>

7.部署运行和测试:
第一种方法:直接在浏览器输入action的请求参数,显示如下:
http://localhost:8080/struts2Demo/hello.action?name=peace&pass=123456
03
第二种方方法:先进入登陆页面,在提交.现实如下:
04
05
账号密码错误的方式:
06

好的本章介绍到这里
来自伊豚wpeace(rlovep.com)

ssh入门简单搭建例子

第一步,使用struts2。导入struts所需的包:strust-core-xxx.jar         xwork-core-xxx.jar       commons-io-xxx.jarcommons-fileupload-xxx 查看详情

《java从入门到放弃》入门篇:struts2的基本访问方式

...。介绍完毕···其核心原理图网上很多,我这儿做了一个简单的修改,如果有说明得不够恰当的地方,请指正。原理图请Look:650)this.width=650;"src= 查看详情

《java从入门到放弃》入门篇:struts2的基本访问方式

...绍完毕··· 其核心原理图网上很多,我这儿做了一个简单的修改,如果有说明得不够恰当的地方,请指正。原理图请Look: 好了,到这儿差不多闲扯完 查看详情

《java从入门到放弃》入门篇:struts2的常用验证方式

感觉过了一个周末,人都懒得不要不要的,今天就来点简单的内容吧--,各位看官如果欲求不满的话,可以自行解决或再去宠幸其他“勃主”···650)this.width=650;"src="https://img.baidu.com/hi/jx2/j_0036.gif"alt="j_0036.gif"/>struts2的验证方式主... 查看详情

struts2入门

1-1Struts2入门概述课程目标01Struts2的概念02MVC03Struts的发展历史04第一个Struts2例子05Struts2的工作原理及文件结构06深入讲解Struts2的用法一、Struts2的概念Struts2是Java程序员所必须学习的一门课程。Struts的英文单词是什么意思? &nbs... 查看详情

struts1.3——struts入门

1.Struts的几个基本概念1.struts是一个开源框架(frameset)2.struts是一个Web框架3.struts是一个基于MVC的Web框架2.为什么有struts因为我们对MVC的理解不同,可能造成不同公司写程序的时候,规范不统一,这样不利于程序的维护和扩展以及... 查看详情

struts2入门

---恢复内容开始---一丶Struts2基础学习总结  Struts2是在WebWork2的基础开发而来,它相比于Struts1的优点在于以下几点:    1.Strust2没有像Struts1那样跟ServletAPI耦合度很高。    2.Struts2提供了拦截器,利用拦截器可以进行AO... 查看详情

struts入门

Struts开发步骤:1.web项目,引入struts-jar包2.web.xml中,引入struts的核心功能                  配置过滤器3.开发action4.配置action   查看详情

struts2入门

运行一个基本的Struts2工程,遇到这样的报错:严重:Exceptionstartingfilterstruts2java.lang.ClassNotFoundException:org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.class atorg.apache.catalina.loader.Weba 查看详情

struts2系列:入门

1、Struts简介和下载ApacheStrutsisafree,open-source,MVCframeworkforcreatingelegant,modernJavawebapplications.Itfavorsconventionoverconfiguration(约定大于配置),isextensible(可扩展)usingapluginarchitecture,andshipswith 查看详情

springmvc框架入门

...模式。 为什么要学SpringMVC?SpringMVC相比Struts2要更为简单,便捷,容易学,性能也要比Struts2好。天生与Spring框架集成(如IoC容器 查看详情

struts2入门---环境搭建

1.struts2环境搭建下载:http://struts.apache.org/我们这里直接选择这个版本的struts安装:将struts2核心jar包导入web工程lib目录下这里需要注意一个问题:xwork-core-2.3.16.jar2.5版本以前的版本都有这个,但在2.5版本就没有了.其实他们只是将它合... 查看详情

struts2第一个入门案例

 一.如何获取Struts2,以及Struts2资源包的目录结构的了解  Struts的官方地址为http://struts.apache.org在他的主页当中,我们可以通过左侧的ApacheStruts菜单下的Release链接,可以查看Struts各个阶段的词资源,也可以通过ArchiveSite... 查看详情

struts2入门2

五、Struts2的工作原理及文件结构Struts2过滤与自己相关的请求,比如.action后缀的请求,Struts2会进行过滤和处理,但如果是.html或者.jsp,Struts2不会对其进行处理,它就会放行Struts2的工作原理图Struts2的核心文件web.xml任何MVC框架都需... 查看详情

struts2入门案例

Struts2是常用的web层框架,jar包下载路径开发包目录结构介绍在web工程中引入struts2的开发包如何在web。xml中配置struts2的核心过滤器<filter><filter-name>struts2</filter-name><filter-class>org.apache.struts2.dispatcher.ng.filter 查看详情

struts2入门之struts2获取表单数据

在上一篇博文中分享了action如何获取表单数据,在本篇博文中分享一下用struts2这个框架如何来获取表单数据。struts2获取表单数据可以分为三种方式:1、属性封装2、模型驱动封装3、表达式封装分别介绍以上三种方式:  属性... 查看详情

struts2的经典入门

一:Struts2的起源与背景在了解Struts2之前我们先来聊聊Struts1,我们都知道在很长的一段时间内,所有的MVC框架中,Struts1他是处于一个超级大咖的地位,无论是从市场角度和使用的用户的数量这个角度而言,Struts1它占用绝对地位... 查看详情

struts2学习————struts2入门

        首先推荐一本书,虽然我还没看过,但是我以后肯定会看的,《Struts+技术内幕》提取密码:kg6w。现在只是停留在会使用struts2的层次,自己也想继续深入研究,但是感觉自己的知识面还没那么广,那就等以后工... 查看详情