Struts框架是什么?用来做什么?

首先要知道mvc模式(model,view,controller),controller层用来接收页面请求的信息,并且调用service层来响应给界面信息。model层用来处理业务信息和数据库的交互,view用来显示界面信息。Struts就是mvc模式的优秀代表,struts最主要的是处理mvc的controller层。他用一个过滤器来代替controller层,具体的操作交给action。

首先,新建web'项目,分层信息先建好,新建struts.xml配置文件,导入jar包

首先在web.xml配置struts的过滤器,让所有的请求都经过这个过滤器,StrutsPrepareAndExecuteFilter类会根据struts配置文件找到相应的action进行处理

<?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>strutstest</display-name><welcome-file-list><welcome-file>index.html</welcome-file><welcome-file>index.htm</welcome-file><welcome-file>index.jsp</welcome-file><welcome-file>default.html</welcome-file><welcome-file>default.htm</welcome-file><welcome-file>default.jsp</welcome-file></welcome-file-list><!-- struts过滤器 --><filter><filter-name>struts2</filter-name><filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class></filter><filter-mapping><filter-name>struts2</filter-name><url-pattern>/*</url-pattern></filter-mapping>
</web-app>

做一个登录功能,首先页面发出一个请求,带上用户名和密码,这里先不写请求的地址

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body><form action=""><label>请输入账号:</label> <input type="text" name="username" /><label>请输入密码:</label> <input type="password" name="password" /><input type="submit" value="登录"/></form>
</body>
</html>

编写action类,处理登录的请求,struts会根据传来的参数自动给属性赋值。但必须要表单中的name和属性的名称一致且生成get set 方法

package sdibt.fly.action;public class LoginAction {private String username;//请求的账号private String password;//请求的密码public String login(){//这里应该调用service的验证登录功能,为了方便演示,在这里就固定验证了//如果账号是admin,密码是ok,就登录成功,否则登录失败if(this.username.equals("admin")&&this.password.equals("ok")){return "success";}else{return "fail";}}public String getUsername() {return username;}public void setUsername(String username) {this.username = username;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}
}

配置struts.xml文件,

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN""http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
    <!--
    name:可选属性,无特别含义,表示为哪个包服务
    namespace:发出请求的时候地址要带上namespace,这样其他的action也有这个方法就不不会导致歧义
    extends:默认继承"stuts-default"包
     --><package name="login" namespace="/login" extends="stuts-default">             <!--             name:请求具体路径,前面跟上/namespace           class:指定action所在的类           method:action类中指定的方法         -->         <action name="login" class="sdibt.fly.action.LoginAction" method="login">                    <!--             name:success,就跳向login_success.html           type:默认是请求dispatcher(请求跳转),redirect是页面重定向            -->         <result name="success" type="dispatcher">/login_success.html</result>         <result name="fail" type="redirect" >/login_fail.html</result>        </action></package>
</struts>

修改login.html的form表单,提交的路径是namespace/action的方法

<form action="login/login">
<label>请输入账号:</label> <input type="text" name="username" />
<label>请输入密码:</label> <input type="password" name="password" />
<input type="submit" value="登录"/>
</form>

开始测试:

Struts2 框架总结(一):简单开发相关推荐

  1. struts2框架之struts框架介绍

    如今,在Java Web 学习中,框架的学习是很重要的一个环节,大家很熟悉的名词SSH,代表的就是Struts.Spring.Hibernate三大框架.SSH也是现如今企业主流的JavaEE开发的一 ...

  2. Struts2的两个蝴蝶飞,你好简单开发(一)

    我把你的头像,设置成我的名字,此刻你便与我同在. 我把你的名字,写进我的代码里面,以后,我的世界便存在着你. "两个蝴蝶飞"特别喜欢"java1234知识分享网" ...

  3. Struts2框架简单入门

    Struts2框架简单入门 1.前言 2.Struts2简介 2.1.Struts2介绍 2.2.Struts2优缺点 2.2.1.优点 2.2.2.缺点 2.2.3.Struts2获取 3.入门案例 ...

  4. Spring整合Struts2框架的第一种方式(Action由Struts2框架来创建)。在我的上一篇博文中介绍的通过web工厂的方式获取servcie的方法因为太麻烦,所以开发的时候不会使用。...

    1. spring整合struts的基本操作见我的上一篇博文:https://www.cnblogs.com/wyhluckdog/p/10140588.html,这里面将spring与struts2 ...

  5. struts2找不到action_第一次用上Struts2框架做Web开发的体验……

    SliiyStruts2 又名 sb-struts2,因为struts真的太难用了(也许在很多年前是很好用的,但是现在看来,被其他框架秒成渣) 前言 想不到我还是得和这struts框架打交道啊,从一开 ...

  6. 使用Maven搭建Struts2框架的开发环境

    一.创建基于Maven的Web项目 我使用的是MyEclipse8.5的版本,创建好的Web项目如下所示: 我们知道,一个标准的Maven项目是必须包括[src/main/java],[src/mai ...

  7. Struts2和hibernate框架整合实现简单的注册登陆功能

    Struts2和hibernate框架整合实现简单的注册登陆功能 项目结构: LoginAction.java package action; import vo.User; import vo.Us ...

  8. 35 万行代码,旷视重磅开源天元深度学习框架 ,四大特性实现简单开发

    [导读]2020 年 3 月 25 日,人工智能企业旷视科技举办线上发布会,旷视联合创始人兼 CTO 唐文斌宣布正式开源其 AI 生产力平台 Brain++ 的核心组件--天元(MegEngine). ...

  9. 小巧高效的php框架,猿团YTFramework框架上线 让PHP开发更简单高效

    原标题:猿团YTFramework框架上线 让PHP开发更简单高效 通过长期产品开发的技术积累,今天,由猿团科技开发的一套方便PHP程序开发的框架正式推出:YTFramework(以下简称YTF)框架 ...

  10. 全网最强maven教程-使用Maven搭建Struts2框架的开发环境

    Maven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具. Maven的主要目标是希望开发人员能在最短的时间内理解开发的完整状态.为了达到这个目标,Mav ...

最新文章

  1. Spark源码阅读04-Spark运行架构之Standalone运行模式
  2. boost::coroutine模块实现power的测试程序
  3. 功率谱有什么用_马达品牌不同,功率一样,变频器互相不能用,是什么原因
  4. kill -0 pid是做什么用的?
  5. Docker简单的使用命令
  6. 自己封装了的AlertController
  7. 腾讯接入支付宝 京东、苏宁易购在等是什么
  8. CenterNet++ | CenterNet携手CornerNet终于杀回来了,实时高精度检测值得拥有!
  9. 可编译运行:调用ffmpeg接口,将RTSP流保存为MP4的C代码
  10. seay php,Seay PHP代码审计工具
  11. 今日头条算法及技术架构分析
  12. 关于opencv打开摄像头黑屏的问题
  13. java课设心得体会2000字_java课程设计报告心得体会
  14. 3种方式教你怎样显示手机wifi密码,不再愁密码忘记了
  15. 【Unity】Obi插件系列(三)—— Collisions
  16. python的UnboundLocalError: local variable 'xxx' referenced b
  17. UiBot If(如果条件成立)
  18. python指纹识别_分享Python编写的网站组件指纹扫描工具.
  19. 逻辑卷管理员(Logical Volume Manager)介绍
  20. vue移动端实现拖拽

热门文章

  1. 华为OD机试 -众数和中位数(Java) | 机试题+算法思路+考点+代码解析 【2023】
  2. lombok基本使用
  3. 蒙特卡洛方法模拟社会财富分配
  4. 打造“大国重器”高性能计算,联想与英特尔如何携手点亮数字经济加速度?...
  5. jenkins 插件包
  6. csharp:百度翻译
  7. c语言:根据邮件的重量和是否选择加急计算邮费。
  8. django rest framework学习准备,面向对象中类的使用。
  9. STM32学习——TFTLCD原理
  10. Veritas NetBackup即时恢复VMware虚拟机操作方法