,,Struts2学习教程之入门小白的开始基础

,,Struts2学习教程之入门小白的开始基础

Struts2实际上为我们封装了servlet,简化了jsp跳转的复杂操作,提供了易于编写的标签,可以快速开发视图层的代码。下面这篇文章主要给想学习Struts2的白人介绍一些关于Struts2入门的基本信息。有需要的朋友可以参考一下。

Struts2 概述:

Struts2是一个用于开发MVC应用程序的框架。为Web应用开发过程中的一些常见问题提供了解决方案,如用户输入信息的合法性验证、统一布局、国际化等。既然有Struts2,就一定有Struts1,但本质上Struts2并不是由Struts1扩展而来,应该说是换了个品牌名的网络作品更合适。

struts1 VS struts2

Struts1使用ActionServlet作为控制器,Struts2使用filter作为控制器。

Struts1中的每个HTML表单对应一个ActionForm实例,Struts2中的HTML表单将直接映射到一个POJO。

Struts1的验证逻辑是用ActionForm写的,Struts2的验证逻辑是用Action写的。

Struts1中的Action类必须继承org . Apache . struts . Action . Action类,Struts2中的任何POJO都可以是Action类。

Struts2使用OGNL来显示页面中的各种对象模型,所以EL和JSTL不能再用了。

Struts2 环境搭建

创建一个新模型,检查Struts2,然后选择Struts2要使用的库。可以直接在新页面选择下载来下载,也可以提前下载Struts2需要的jar包,自己构建(这里我选择自己构建的库)。

在http://struts.apache.org/download.cgi#struts2516,的这个页面上,您可以选择想要使用的Struts2版本,也可以从我们这里下载:https://www.jb51.net/softs/539810.html.

点击Next为你的struts2项目命名(命名时,建议在第二列内容根的路径后进行重命名。如果第一列中的更改只更改了第一列,其余两列将不会更改)

单击Finish完成Struts2项目的创建。创建的项目如下

IDEA VS Eclipse

如果使用Eclipse创建struts2项目,需要在下载的Struts2包中复制Struts2文件的格式和已有项目中web.xml文件的配置;IDEA会自动为我们构建它。

web.xml文件位于struts2包下的struts \ apps \ struts 2-blank 1 \ we b-INF \ web . XML中。

struts.xml文件在struts2包下的struts \ apps \ struts 2-blank \ we b-INF \ classes中,创建在src目录下。

Struts2 HelloWorld

设置好Struts2的开发环境后,我们开始编写第一个Struts2程序,要求在一个表单中输入用户的基本信息,然后点击提交跳转到另一个页面显示用户输入的信息。在学习Struts2之前,这对我们来说非常简单,我们只需要向塞尔韦特发送页面请求,以响应另一个页面的请求,然后使用EL和JSTL显示信息。当然,这是Struts2的一个HelloWorld,我们将以这个例子来解释Struts2的各个方面。

在index.jsp编写页面代码,供用户输入基本信息,如下所示:

根据表单的name属性编写实体类,创建getXxx和setXxx方法,Customer.java。

在struts.xml文件中编写代码来处理struts2请求。

返回show.jsp页面

struts.xml

?xml版本='1.0 '编码='UTF-8 '?

!DOCTYPE struts公共

-//Apache软件基础//DTD Struts配置2.3//EN '

' http://struts . Apache . org/dtds/struts-2.3 . dtd '

支杆

包名='helloWorld '扩展='struts-default '

action name=' input ' class=' com . struts 2 . hello . test . customer ' method=' print '

结果名称='print'/show.jsp/result

/操作

/包

/struts

Customer.java

包com . struts 2 . hello . test;

/**

*由shkstart于2018/03/24创建。

*/

公共类客户{

私有字符串用户名;

私人字符串电子邮件;

私有字符串地址;

/*

* getXxx() setXxx()方法

**/

公共字符串print() {

system . out . println(new Customer());

返回“打印”;

}

@覆盖

公共字符串toString() {

返回“客户{”

用户名=' '用户名' \ ' '

,email='' email '\ ' '

,address='' address '\ ' '

'}';

}

}

index.jsp

%@页content type=' text/html;' charset=UTF-8 '语言='java' %

超文本标记语言

标题输入/标题

/头

身体

桌子

表单操作='input.action '方法='post '

tr

td用户名/td

TD input type=' text ' name=' userName '/TD

/tr

tr

td电子邮件/td

TD input type=' text ' name=' email '/TD

/tr

tr

td地址/td

TD input type=' text ' name=' address '/TD

/tr

tr

td输入类型='提交'值='提交'/td

/tr

/表单

/表格

/body

/html

Show.jsp(仅显示正文标签内容)

用户名:${userName}br

电子邮件:${email}br

地址:${address}br

代码的详细解释

Customer.java的成员变量与index.jsp的属性一一对应,不区分大小写;

show.jsp用于显示的成员变量与Customer.java一致,否则无法显示。

index.jsp中的表单操作值应设置为struts.xml文件中操作的name属性。

struts.xml文件中动作节点的方法属性应该是Custome.java中的字符串print()方法,结果节点的名称属性是

String print()方法的返回值

result节点的值是处理struts2请求后响应的页面。

对于show.jsp页面的显示,我们会在后面详细讲解相关知识。到目前为止,我们的struts 2 hello world已经在这里了,我相信小白和我一样,如果他遵循它,就不会犯任何大错误!

struts.xml 文件节点

包属性——struts 2使用包来组织模块。

name属性是必需的,用于其他包以应用当前包;

Extends表示当前包继承的包,即可以继承所有的配置,通常是struts-default;

命名空间的默认值是/。设置此属性时,应在URL中的servletPath之前添加set值。

属性struts2请求是一个动作。

“结果”(活动的子标签)标签正文指明了回应结果。

该名称对应于struts2请求的名称,没有扩展名(扩展名默认为。行动);

class请求此struts2要转到的类的完整类名;

方法是这个类要执行的方法,这个方法的返回值必须是String,必须和结果节点的name属性一致。

result的name属性的默认值为SUCCESS,class的默认属性为ActionSupport,method的默认值为execute。

一个操作可以有多个结果子节点,这些子节点通过name属性来区分。

结果节点的type属性默认为dispatcher,表示结果的响应类型。

Action VS action

本例中,Customer.java是struts2中提到的动作类,index.jsp发出的请求是动作请求;

Action表示一个struts2请求,Action类表示可以处理struts2请求的类。

Action类的成员变量必须遵循与JavaBean属性名相同的命名规则,属性的类型可以是任意类型,必须与表单的name属性相同。

当struts2执行这个动作请求时,至少要调用一个方法。

同一个动作也可以包含多个动作方法。

Action类必须有一个无参数的构造函数,因为将使用反射赋值。

总结

这就是本文的全部内容。希望这篇文章的内容对你的学习或工作有一定的参考价值。有问题可以留言交流。谢谢你的支持。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • word文档无法编辑是怎么回事-
  • 华为手机怎么设置返回键(华为手机下面的三个按键设置方法)
  • lumia950怎么样(Lumia950体验分享)
  • otg连接是什么意思(OTG连接手机方法)
  • 笔记本触摸板怎么右键(笔记本电脑触控板手势操作设置)
  • 真我x7怎么样(realme X7 系列体验)
  • 苹果的A16处理器有多强(苹果的A16处理器的介绍)
  • 小米互传怎么用(小米手机的连接与共享教程)
  • 怎么设置电脑桌面图标自动对齐 设置电脑桌面自动整理图标的方法
  • 宽带错误651最简单解决方法(处理宽带错误651的措施)
  • 大学生手机有什么推荐(大学生换手机攻略)
  • 天玑1100和骁龙778g哪个好(骁龙778G、天玑900、天玑1100购选建议)
  • yum update 升级报错的解决办法
  • Windows10禁用屏保教程
  • 连接wifi显示无互联网连接怎么办(无线连上了却不能上网处理绝招)
  • 留言与评论(共有 条评论)
       
    验证码: