struts2框架

day26_Struts2学习笔记_03

匿名 (未验证) 提交于 2019-12-02 21:53:52
一、国际化概念(了解) 1、什么是国际化 软件 的国际化:软件开发时,要使它能同时应对世界不同地区和国家的访问,并针对不同地区和国家的访问,提供相应的、符合来访者阅读习惯的页面或数据。 2、什么需要国际化 用户注册的表单,有用户名,密码这5个汉字,在zh_CN语言环境,显示的就是用户名和密码。但是在en_US语言环境,显示的就应该是username和password。这就是 程序 。 用户名输入的是【张三】,密码输入的是【test】,那无论在什么语言环境都应该是是【张三】和【test】。这就是 数据 。 3、固定文本的国际化 步骤: 3.1、创建一个消息资源包 主要文件名_语言代码_国家代码.properties 。 主要文件名.properties 时,表明它是 默认资源包 。浏览器会根据不同的语言环境找对应语言环境的资源包,当没有找到时,找默认的。 相同的key 和 对应语言环境的value 组成。 message_zh_CN.properties 、 message_zh_HK.properties 、 message_en_US.properties 3.2、读取资源包中的内容 国际化的小测试,如下图所示: jsp中使用国际化: 配置文件 message_zh_CN.properties 和 message_en_US.properties 的书写: login.jsp文件

Struts2 验证框架 validation.xml 常用的验证规则

天涯浪子 提交于 2019-12-02 21:06:38
validation.xml 的命名规则和放置路径: 文件名:<ActionClassName>-validation.xml <ActionClassName>就是要验证的Action类的名字。 要将此文件放于Class文件相同的目录。 如果在Action类在struts配置中有多个action实例(action name),那么对应某个action的验证文件名规则如下: 文件名:<ActionClassName>-<aliasName>-validation.xml 例如:UserAction-login-validation.xml (注意:上面的<aliasName>并不是method name,而是struts.xml中配置的action的name) validation.xml 的内容示例: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE validators PUBLIC "-//OpenSymphony Group//XWork Validator 1.0.2//EN" "http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd"> <validators> <field name="username"> <field-validator type=

Struts 2.0.0 – Struts Struts 2.3.24.1 漏洞解决办法

落花浮王杯 提交于 2019-12-02 21:02:04
背景介绍: Struts2 是全球使用最广泛的 Java web 服务端框架之一。Struts2 是 Struts 的下一代产品,是在 Struts1 和 WebWork 的技术基础上进行了合并的全新的 Struts2 框架。 在此之前 S2-005,S2-009,S2-013,S2-016,S2-20 都存在远程命令执行漏洞,使得大量的网站系统遭受入侵。因此,该漏洞一经曝光就在安全圈内引起轩然大波。 漏洞成因: Struts2的标签库使用OGNL[Object-Graph Navigation Language,一种功能强大的表达式语言]表达式来访问ActionContext中的对象数据。为了能够访问到ActionContext中的变量,Struts2将ActionContext设置为OGNL的上下文,并将OGNL的跟对象加入ActionContext中。 在Struts2中,如下的标签就调用了OGNL进行取值。 <p>parameters: <s:property value="#parameters.msg" /></p> Struts2会解析value中的值,并当作OGNL表达式进行执行,获取到parameters对象的msg属性。S2-029仍然是依靠OGNL进行远程代码执行。 如果使用Struts2的web应用将用户提交的数据未经过滤

struts2

▼魔方 西西 提交于 2019-12-02 15:57:26
Struts2是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet,在MVC设计模式中,Struts2作为控制器(Controller)来建立模型与视图的数据交互。Struts 2是Struts的下一代产品,是在 struts 1和WebWork的技术基础上进行了合并的全新的Struts 2框架。其全新的Struts 2的 体系结构 与Struts 1的体系结构差别巨大。Struts 2以WebWork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与 Servlet API完全脱离开,所以Struts 2可以理解为WebWork的更新产品。虽然从Struts 1到Struts 2有着太大的变化,但是相对于WebWork,Struts 2的变化很小。 来源: https://www.cnblogs.com/mark5/p/11753000.html

eclipse搭建Struts2入门小例子

南楼画角 提交于 2019-12-02 11:05:12
利用eclipse创建一个web工程 导入用到的jar包 开发包下载 打开下载的Struts2开发包 struts-2.3.37->lib下的可以发现有106个jar包但是在实际开发中用不到这么多的jar包 要进行struts2的基本的开发,可以参考struts-2.3.24中的apps下的一些示例代码,其中 struts2-blank.war 是一个 struts2的空的工程。我们只需要将struts2-blank.war解压后进入到WEB-INF 下的lib中查看。 注意:需要将 struts2-blank.war 文件修改后缀 修改为(struts2-blank.zip) 然后右键就可以解压了 把lib里的jar包导入到web项目中 jar包的作用 文件名 说明 asm-3.3 jar 操作java字节码的类库 asm-comnwns-3.3 jar 提供了基于事件的表现形式 asm-tree-3.3.jar 提供了基于对象的表现形式 struts2-core-2.3.24.jar struts2框架的核心类库 xwork-core-2.3.24jar WebWork核心库,struts2的构建基础 ognI-3.0.6jar 对象图导航语言(Object Graph Navigation Language), struts2框架通过其读写对象的属性 freemarker-2

SSH框架整合(struts2、hibernate和spring)环境搭建

半城伤御伤魂 提交于 2019-12-02 06:16:37
鼓捣了一小时,终于搭建了一个SSH的开发环境,感激涕零,哈哈!! SSH的整合思想: SSH的整合思想就是:struts2用在web层,spring用在service层,hibernate用在dao层;struts2和hibernate要分别与spring进行整合! 1、struts2与spring整合的思想是:把创建Action对象的步骤交给spring,通过spring的配置文件完成! 2、hibernate和spring整合的思想是:把hibernate的创建SessionFactory对象的步骤交给spring完成;把hibernate中配置数据库信息的部分也交给spring进行管理! 整合步骤: 1、导入jar包: struts2的jar包: struts2整合spring的jar包; spring的核心jar包: spring整合web项目的jar包: springAOP操作的jar包: spring整合orm框架的jar包: hibernate开发需要的jar包: 数据库驱动包: c3p0连接池需要的jar包: 2、搭建struts2开发环境: 创建action类,创建配置文件struts.xml,配置action;并在web.xml中配置struts2的过滤器: 3、搭建hibernate开发环境: 创建实体类,创建实体类映射配置文件,并配置映射关系

ssh的整合笔记整理

大城市里の小女人 提交于 2019-12-02 06:12:25
搭建ssh开发环境 Struts2整合spring spring整合hibernate 整合好之后自己尝试进行一个员工管理系统的案例实践 ssh框架知识点 web层-------业务层-------持久层--(交互)--DB(数据库) Struts2 spring hibernate 通常web层区调用业务层,业务层调用持久层 在web层怎么获取到service,需要在自己编写一个actiion Public class BookAction extends Action Support implements MoselDriven<Book>{ //在action里肯定有个执行的方法 //完成图书的保存,需要手动new一个对象 //提供一个get的方法 private Book book = new Book(); Public Book getModel(){ return book;//返回对象 } Public String saave (){ //需要获得去业务层的类,然后调用业务层的一个save方法,在action里怎么去获取到业务层呢 //学习过spring整合web项目,在整合中有个WebApplicationContext类,怎么获取这个对象呢,通过 WebApplicationContextUtils.getWebApplicationContext();

1、Struts2基本入门

房东的猫 提交于 2019-12-02 02:49:07
一、了解了这几个主要的优点,会促使你考虑使用Struts2 :     1、POJO表单及POJO操作 - Struts2 去除掉了Struts框架中的Action Forms部分。在Struts2框架下,你可以用任何一POJO来接收表单输入,同样的,你可以把任一POJO视为一个Action类。     2、标签支持 - Struts2 改进了标签表单,而新的标签可让开发人员减少代码编写量。     3、AJAX支持 - Struts2 被认可接收进Web 2.0技术,并创建了功能非常类似于标准的Struts2 标签的AJAX标签,把AJAX支持整合进其结果中。     4、易于整合 - Struts有多种整合方式可使用,现在与其他类型的框架,如Spring、Tiles、SiteMesh之类的,整合更为容易了。     5、模板支持 - 支持使用模板生成视图。     6、插件支持 - 有大量的插件可用于Struts2,而使用插件可以增强和扩大Struts2 核心行为。     7、促进减少配置 - Struts2 使用各种设置的默认值促进减少配置,而你不需要再配置什么除非是偏离了Struts2 设定的默认设置。     8、视图技术 - Struts2 为多种视图选项(JSP、Freemarker、Velocity、XSLT等)提供支持。 二、三层开发模型 MVC 模型

震惊!!!SSM居然是这样的!

北战南征 提交于 2019-12-01 19:30:20
SSM框架 SSM ( Spring+SpringMVC+MyBatis )框架集由 Spring 、 MyBatis 两个开源框架整合而成( SpringMVC 是 Spring 中的部分内容)。常作为数据源较简单的 web 项目的框架。 一、 Spring 部分    Spring 就像是整个项目中装配 bean 的大工厂,在配置文件中可以指定使用特定的参数去调用实体类的构造方法来实例化对象。也可以称之为项目中的粘合剂。    Spring 的核心思想是 IoC (控制反转),即不再需要程序员去显式地 `new` 一个对象,而是让 Spring 框架帮你来完成这一切。 1 、 Spring 的运行流程 第一步:加载配置文件 ApplicationContext ac = new ClassPathXmlApplicationCont ext("beans.xml"); , ApplicationContext 接口,它由 BeanFactory 接口派生而来,因而提供了 BeanFactory 所有的功能。配置文件中的 bean 的信息是被加载在 HashMap 中的,一个 bean 通常包括, id , class , property 等, bean 的 id 对应 HashMap 中的 key , value 呢就是 bean 第二步:调用 getBean 方法,

Struts2 校验框架学习笔记

痴心易碎 提交于 2019-12-01 12:49:44
truts2 校验框架 Struts2 和 Struts1 同样也提供了校验框架 , 但在 Struts2 已经不再把校验框架做为一个插件 , 而是已经内置到了 Struts2 中 , 而且配置起来更为简单方便 , 功能也更强大。 下面以一个例子来说明 Struts2 校验框架的使用。 1 在 myeclipse 中创建一个 web 工程,在 src 目录下创建 struts.xml 配置文件,添加好 xml 标头,配置 web.xml 文件。 1-1 .了解一下我做的简单例子需求,实现一个用户注册的功能,用户信息包括用户名,密码,确认密码,年龄,出生日期,毕业日期等信息。在注册过程需要提供以下校验规则: [1] 用户必填,长度在 6-10 之间 [2] 密码和确认密码必填,两次输入密码要一致长度,在 6-10 之间 [3] 年龄必须是数字 界于 1-150 之间 [4] 出生日期和毕业日期必填,且出生日期必须早于毕业日期 要求:使用 struts2 提供的 xml 配置方式进行校验。 1-2 .首先创建一个 register.jsp 页面,代码如下: <%@ page language="java" pageEncoding="UTF-8"%> <%@ taglib uri="/struts-tags" prefix="s" %> <!DOCTYPE HTML PUBLIC "-