Struts2入门学习】的更多相关文章

1.Struts2的前身是Opensymphony的Webwork2,实际上Strut和Webwork2合并后形成Struts2.   2.一个HelloWord示例 1)创建Web应用,所需要的Jar包为: 2)配置Struts2     在web.xml文件中配置如下: <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://java.sun.com/xml/ns/j…
一.OGNL常用符号(接上一篇文章): 1.#号 1)<s:property value="#request.username"/> 作用于struts2的域对象,而不是普通域对象 2)<s:property value="#user.username"/>作用于JavaBean对象 3)<s:property value="#username"/>作用于普通字符串,如果value只是一个字符串的话,不是Jav…
一.知识点学习 1.struts2中包含以下6种对象,requestMap,sessionMap,applicationMap,paramtersMap,attr,valueStack; 1)requestMap用来存放包含当前HttpServletRequest的属性(attribute)的Map,简单来说就是request域中的值; 2)sessionMap用来存放包含当前HttpSession的属性(attribute)的Map 3)applicationMap用来存放包含当前应用的Ser…
一.知识点总结 后台验证有两种实现方式: 1 手工验证顺序:validateXxx(针对Action中某个业务方法验证)--> validate(针对Action中所有的业务方法验证) 2 声明式验证 validate()===>"Action的类名-validation.xml"===>必须放置在Action类的同目录下 validateXxx()===>"Action的类名-<action>标签中的name属性值-validation.…
一.拦截器,拦截器栈 1.拦截器的作用 拦截器本质上和servlet的过滤器是一样的.在struts2中,拦截器能够对Action前后进行拦截,拦截器是一个可插拨的,你可以选择使用拦截器,也可以卸载拦截器. 2.拦截器执行顺序 在struts.xml文件中,<intercepto-ref/>中先引用的先执行,后引用的后执行.如果某个拦截器出错或不允许通过,那么下一个拦截器是不允许执行的. 需要拦截哪个Action,就在哪个Action对应的<action>标签中配置即可. 在部署w…
一.文件上传快速入门 1).关于上传表单三要素 >>尽量以POST请求方式上传,因为GET支持文件大小是有限制的. >>必须要加上enctype="multipart/form-data"表示上传的文件,以随着请求体经过特殊编码后,一同传入服务器 >>每个表单项,必须取一个名字(name),因为服务器端便于通过名字(name)收集信息.  2).fileUpload拦截器文件上传拦截器,自动注入三个参数,如下所示: private String up…
一.知识点回顾 防止表单重复提交核心思想: 客户端和服务器端和写一个token,比较两个token的值相同,则非重复提交;不同,则是重复提交. 1.getSession三种方式比较: request.getSession() request.getSession(true);//无论如何都要得到新的Session request.getSession(false);//只能得到旧有的Session 2.>>struts2框架提供了token拦截器,主要用于防止表单重复提交 >>默认…
自定义类型转换器的作用就是将struts无法识别的类型转换成自己所需要的. 比如输入:广东-东莞-虎门,对应的输出时能输出:广东省 东莞市 虎门(镇/区) 这里涉及到的知识点即是将String转换为任意的JavaBean类型. 一.实现代码 程序配置入口:struts.xml <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Softwar…
一.关于文件下载: 文件下载的核心思想即是将文件从一个地方拷贝到另一个地方. 1.传统方式: 在Action中加入大量servlet api 操作.优点是好理解,缺点是耦合度高. 2.stream方式: 使用struts2中的stream拦截器进行操作 二.实例: 我这里用的是maven,贴出pom.xml: <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2…
一.struts2对异常的处理 1.自定义局部异常: <action> <exception-mapping result="sonException" exception="java.lang.ArithmeticException"></exception-mapping> </action> 2.自定义全局异常: <!-- 配置全局异常处理 --> <global-exception-mappi…
一.需求 利用struts2实现中文验证并对错误消息的抽离. 详细需求:用户登录-->不填写用户名-->页面跳转到用户登录页面,提示用户名必填(以英文和中文两种方式提示)-->填写英文用户名-->页面提示用户名必须填写为英文--->填写中文用户名--->页面跳转到登录成功页面. 二.效果图 1.英文提示 2.中文提示 三.代码分析 result.jsp <%@ page language="java" contentType="tex…
一.国际化的概念 1.不同国家的人访问同一个网站,显示的语言不同. 2.对JSP页面进行国际化 属性(properties)文件命名规则:基名---语言--国家如, message_zh_CN.properties >>>使用标签获取相对应的值,如: <s:textfield key="login.username" name="username"/> <s:submit key="login.submit"/…
一.错误提示信息配置 昨天说到更改默认错误配置信息,我测试很多遍,一直都不对.下面贴出来,待以后有好方法了再补充吧. 首先新建一个properties文件,这里命名为testupload.properties,内容为: struts.messages.error.file.too.large=\u6587\u4EF6\u592A\u5927{0} "{1}" "{2}" {3} struts.messages.error.content.type.not.allow…
一.为什么要进行验证? 验证几乎是注册登录的必须前提,验证的主要作用有两点: 1.安全性 2.对用户提供差异化服务. 二.如何验证? ActionSupport类中有一个validate()方法,这是为开发者使用struts提供的一个接口,初始时是没有任何验证的.所以要使用此方法首先要进行重写该方法. 举注册为例,调用顺序为setUsername()方法-->validate()方法--->register()方法.所以一旦验证不过那么将无法执行后续方法,即后面的功能将被隔离! 三.实例: U…
需求: 1.用户注册(user_register.jsp)-->注册成功(UserRegister.action)-->显示注册信息(register_success.jsp)2.用户登录(user_login.jsp)-->登录成功(UserLogin.action)-->显示用户名(login_success.jsp) 分析: 这里主要涉及struts2中对于多个类似的业务操作方法的封装. 效果: 针对需求1,用户注册: 针对需求2,用户登录: 实现: user_registe…
 一.用户注册示例 register.jsp <%@ 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/…
实例1:实现客户端IP地址和访问方式输出到浏览器. IpAction.java package com.amos.web.action; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.struts2.ServletActionContext; import com.opensymphony.xwork2.ActionSup…
jsp页面中引入标签: <%@ taglib uri="/struts-tags" prefix="s"%> 常用标签知识点总结: <s:fielderrors/>取出错误消息<s:form/>生成一个表单<s:textfield/>生成一个单行文本框,错误消息显示,智能回显.<s:password/>生成一个单行密码框<s:submit/>生成一个提交命令按钮<s:property/&g…
Struts2入门3 深入学习 处理结果和异常 前言: Struts学习的差不多了,还有最后的一点就收官了就是结果处理和异常处理.前面学习Struts主要围绕就是Action以及struts.xml配置方法,通过简单的编程实现了struts的基本功能.其实这样的入门效果就达到了,因为任何一个框架技术,如果想速成,就拿出一天的时间来学习:但是想要掌握到炉火纯青的地步,那就是在平时的项目中利用它去解决实际的问题,同时不断的深入框架,直到源代码级别.单独学习完这几个框架,后面还有很多的事情,就是讲它们…
Struts2入门2 Struts2深入 链接: http://pan.baidu.com/s/1rdCDh 密码: sm5h 前言: 前面学习那一节,搞得我是在是太痛苦了.因为在Web项目中确实不知道该添加那些Struts2的包,不该添加那些.当我一股脑的将所有的包都加进去的时候,悲剧照样是发生,估计是因为Web项目导致的.将上面那个例子配置好真心费事,然后就是最好不要使用FilterDispatcher这个类当做Struts2在web.xml配置的拦截器,转到使用org.apache.str…
Struts2入门1 Struts2基础知识 20131130 代码下载: 链接: http://pan.baidu.com/s/11mYG1 密码: aua5 前言: 之前学习了Spring和Hibernate框架知识,因为Spring可以将Struts和Hibernate框架集成,所以还是要学习一些Struts框架技术.本章主要是Struts的简单介绍. 1.Struts2概述 Struts2是最流行的MVC框架技术,特使以WebWork和Struts1为基础,开发的新的框架技术,保留了St…
struts2框架 如果你之前在MVC模式的时候一直都是通过servlet,获取和返回数据,那么现在开始学习struts2框架, Struts是一个实现MVC设计模式的优秀的框架.它的许多优点我就不说了. 我用自己做的一张图说明servlet和struts2的区别. 写一个最基本的开发步骤,完成开发. (1)创建WEB 工程 (2)导入必要jar包 (3) 编写JSP 页面 (4)编写Action 服务器端处理逻辑 (5)进行框架配置web.xml.struts.xml (6)运行测试 (1)创…
vue入门学习总结: vue的一个组件包括三部分:template.style.script. vue的数据在data中定义使用. 数据渲染指令:v-text.v-html.{{}}. 隐藏未编译的标签:v-cloak . 控制模块隐藏:v-if(值为false时不会渲染到dom上).v-show(相当于display属性的show和hide). 事件绑定:v-on.@语法,一般方法写在methods里面,需要操作dom的方法写在mounted里面,此时dom渲染完毕. 属性绑定:v-bind.…
紧接着<Hadoop入门学习笔记---part3>中的继续了解如何用java在程序中操作HDFS. 众所周知,对文件的操作无非是创建,查看,下载,删除.下面我们就开始应用java程序进行操作,前提是按照<Hadoop入门学习笔记---part2>中的已经在虚拟机中搭建好了Hadoop伪分布环境:并且确定现在linux操作系统中hadoop的几个进程已经完全启动了. 好了,废话不多说!实际的例子走起. 在myeclipse中新建一个java工程: 在项目工程中新建一个lib包用于存放…
2015年元旦,好好学习,天天向上.良好的开端是成功的一半,任何学习都不能中断,只有坚持才会出结果.继续学习Hadoop.冰冻三尺,非一日之寒! 经过Hadoop的伪分布集群环境的搭建,基本对Hadoop有了一个基础的了解.但是还是有一些理论性的东西需要重复理解,这样才能彻底的记住它们.个人认为重复是记忆之母.精简一下: NameNode:管理集群,并且记录DataNode文件信息: SecondaryNameNode:可以做冷备份,对一定范围内的数据作快照性备份: DataNode:存储数据:…
# PyQt4入门学习笔记(三) PyQt4内的布局 布局方式是我们控制我们的GUI页面内各个控件的排放位置的.我们可以通过两种基本方式来控制: 1.绝对位置 2.layout类 绝对位置 这种方式要求程序员必须得指定好每个控件的位置和尺寸.当我们使用绝对位置时,我们得明白下面的几条限制: 当我们改变窗口大小时,控件的尺寸和位置不会改变. 我们的应用可能看起来和一般的应用有所不同. 改变前端页面可能会让我们的应用崩溃 如果我们决定要改变我们的布局时,我们必须要把所有控件的位置全部更新 下面这个例…
PyQt4入门学习笔记(一) 一直没有找到什么好的pyqt4的教程,偶然在google上搜到一篇不错的入门文档,翻译过来,留以后再复习. 原始链接如下: http://zetcode.com/gui/pyqt4/firstprograms/ 在这篇PyQt4的入门文档,我们讲学习一些基础功能. 简单的例子 这是一个显示一个小窗口的简单例子.我们可以对这个窗口做一些操作.我们可以改变它的大小,最大化它,或者最小化它.这需要大量的编码.有人已经写好了这些基础函数,因为它在绝大部分应用中重复出现,不需…
在<Hadoop入门学习笔记---part1>中感觉自己虽然总结的比较详细,但是始终感觉有点凌乱.不够系统化,不够简洁.经过自己的推敲和总结,现在在此处概括性的总结一下,认为在准备搭建hadoop环境时,需要在linux机器上做一些设置,在搭建Hadoop集群环境前,需要在本地机器上做以下设置: 修改ip地址: 关闭防火墙: Hostname的修改: Ssh自动登陆的设置(也即:免密码登录): **关于以上操作的详细命令可以查看上一篇博客<Hadoop入门学习笔记---part1>…
Retrofit 入门学习官方RetrofitAPI 官方的一个例子 public interface GitHubService { @GET("users/{user}/repos") Call<List<Repo>> listRepos(@Path("user") String user); } 这些注解都有一个参数 value,用来配置其路径,比如示例中的 users/{user}/repos, 我们还注意到在构造 Retrofit…
一.Struts2入门案例 ①引入jar包 ②在src下创建struts.xml配置文件 <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" "http://struts.apache.org/dtds/strut…