结构2学习教程小白的开端
结构概述2:
Struts2是一个用于开发MVC应用程序的框架。它为Web应用开发过程中的一些常见问题提供了解决方案,如验证用户输入信息的有效性、统一布局、国际化等。既然Struts2存在,Struts1必然存在,但Struts2本质上并不是从Struts1延伸出来的,应该说有品牌标签的WebWork更适合。
结构1 VS结构2
ActionServlet在struts1中用作控制器,过滤器在Struts2中用作控制器。Struts1中的每个HTML表单都对应一个ActionForm实例。Struts2中Struts1的验证逻辑将直接映射到一个POJO HTML表单,并以ActionForm编写,Struts2中的验证逻辑将以Action编写。struts 1中的Action类必须继承org . Apache . struts . Action . Action类。Struts2中的任何POJO都可以是动作类。Struts2使用OGNL在页面中显示各种对象模型,不能再使用EL和JSTLStruts2环境来构建
创建新模型,选中结构2,然后选择结构2要使用的库。可以直接在新页面选择下载下载,也可以提前下载Struts2需要的jar包自己搭建(这里我自己选库)
http://struts.apache.org/download.cgi#struts2516可以在这个页面上选择他想用的Struts2版本,你也可以从我们这里本地下载://www . jb51 . net/socks/539810 . html。
单击“下一步”并命名您的struts2项目(建议在第二列的“内容根”路径后更改名称,如果第一列中的更改仅更改第一列,则其他两列不会更改)
单击“完成”完成结构2项目的创建。创建的项目如下
IDEA VS Eclipse
如果我们使用Eclipse创建struts2项目,我们需要在下载的Struts2包中复制Struts2文件的格式和现有项目中web.xml文件的配置。IDEA会自动为我们构建struts2包下的struts \ apps \ struts 2-blank 1 \ web-INF \ web . xmlstruts . XML文件和struts \ apps \ struts 2-blank \ web-INF \类,并在src目录下的Struts2 HelloWorld中创建
搭建好Struts2的开发环境后,我们开始编写第一个Struts2程序,需要在一个表单中输入用户的基本信息,点击提交,然后跳转到另一个页面显示用户输入的信息。在学习Struts2之前,这对我们来说非常简单。我们只需要将页面请求发送到塞尔韦特来响应请求,然后使用EL和JSTL来显示信息。当然,这也是Struts2的一个HelloWorld,我们将以这个例子开始解释Struts2的各个方面。
在index.jsp编写页面代码,供用户输入基本信息,如下所示:
根据表单名称属性编写实体类,创建getXxx和setXxx方法,Customer.java
在struts.xml文件中编写代码来处理struts2请求
回到显示页面show.jsp
struts.xml
?xml版本='1.0 '编码='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 name=' hello world ' extends=' Struts-default ' action name=' input ' class=' com . Struts 2 . hello . test . customer ' method=' print ' result name=' print '/show . JSP/result/action/package/Struts customer Java。
package com . struts 2 . hello . test;/***由shkstart于2018年3月24日创建。*/公共类客户{私有字符串用户名;私人字符串电子邮件;私有字符串地址;/** getXxx() setXxx()方法* */publicstringprint () {system。out . println(new customer());返回“打印”;} @ override public String to String(){返回' Customer { ' ' userName=' ' userName ' \ ' ' ',email=' ' email ' \ ' ' ',address=' address ' \ ' ' } ';}}index.jsp
% @ page ContentType=' text/html;charset=UTF-8 ' language=' Java ' % HTMlHeadTitleInput/title/headsdytableform action=' input . action ' method=' post ' Trtdusername/TDT input type=' text ' name=' userName '/TD/Trtdemail/TDT input type=' text ' email '/TD/Trtdaddress/TDT input type=' text ' name=' address '/TD/Trtdinput type=' submit ' value=' submit '/TD/tr/form/table/Body/htmlshow
username 3360 $ { username } bremail : $ { email } Brad dress : $ { address } br code详细信息
Customer.java的成员变量与index.jsp的属性一一对应,案例不忽略;
show.jsp用于显示的成员变量与Customer.java一致,否则无法显示
index.jsp表单的动作值应该设置为struts.xml文件中动作的名称属性
struts.xml文件中操作节点的方法属性应该是Custome.java中的String print()方法,结果节点的名称属性是
String print()方法的返回值
结果节点的值是处理struts2请求后响应的页面
对于show.jsp页面的展示,我们后面会详细讲解相关知识。到目前为止,我们的“昂首阔步的世界”已经到来。我相信像我这样的白人,如果我遵循的话,应该不会犯什么大错误!
Struts.xml文件节点
包属性-struts 2使用包来组织模块
要应用当前包,其他包需要name属性;Extends表示当前包继承的包,即它可以继承其中的所有配置,通常是struts-default;nameSpace的默认值是/。设置此属性时,应在URL中的servletPath之前添加设置值操作属性-结构2请求是一个操作
结果的标记体(动作的子标记)表示响应结果名称对应的struts2请求的名称,不包括扩展名(扩展名默认为。行动);Class是struts2请求将到达的类的完整类名;方法是该类要执行的方法,该方法的返回值必须是String,且必须与结果节点的name属性一致。结果的name属性的默认值为SUCCESS,类的默认值为ActionSupport,方法的默认值为execute。一个操作可以有多个结果子节点,多个结果子节点可以通过名称属性来区分
结果节点的type属性默认为dispatcher,表示结果的响应类型
行动VS行动
在这种情况下,Customer.java是struts2中提到的action类,index.jsp发送的请求是一个Action请求;Action表示一个struts2请求,Action类表示一个可以处理struts2请求的类。action类的成员变量必须遵循与JavaBean属性名相同的命名规则,属性的类型可以是任何类型。它需要与表单的name属性相同。当struts2执行此操作请求时,必须至少有一个要调用的方法。同一个操作也可以包含多个操作方法。操作类必须有不带参数的构造函数,因为将使用反射赋值汇总
以上就是本文的全部内容。希望本文的内容对大家的学习或工作有一定的参考价值。有问题可以留言交流。谢谢你的支持。
版权声明:结构2学习教程小白的开端是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。