小白struts2 札记】的更多相关文章

struts2里面的filter 也就是起个过滤作用的  1 过滤request 请求2 过滤文件类型 禁用的文字等…
Struts2 基础知识学习总结 Struts2 概述:Struts2 是一个用来开发 MVC 应用程序的框架,他提供了 Web 应用程序开发过程中的一些常见问题的解决方案,比如对于用户输入信息合法性的验证,统一的布局,国际化等,既然有 Struts2 那么肯定有 Struts1,但是从本质上讲 Struts2 不是从 Struts1 扩展而来的,更应该说是一种换了品牌标签的 WebWork 更合适. struts1 VS struts2 struts1 里使用 ActionServlet 作为…
做了一个简单的基于Struts2 + Json + HighChart的小例子,费了一下午+晚上的时间,虽然简单,但对于我这种Jquery+Ajax小白的人还是很值得记录的. 哈哈哈 # 0. 关键点找到highchart的模板网站 https://www.hcharts.cn/docs/basic-tooltip # 1. 关键点,在struts.xml中配置返回类型为json <action name="queryItemsJson" class="com.best…
前言 最近正好有时间总结一下,过去的知识历程,虽说东西都是入门级的,高手肯定是不屑一顾了,但是对于初次涉猎的小白们,还是可以提供点参考的. struts2其实就是为我们封装了servlet,简化了jsp跳转的复杂操作,并且提供了易于编写的标签,可以快速开发view层的代码. 过去,我们用jsp和servlet搭配,实现展现时,大体的过程是: 1 jsp触发action 2 servlet接受action,交给后台class处理 3 后台class跳转到其他的jsp,实现数据展现 现在有了stru…
为了使小白能够完全的按步骤创建第一个JFinal应用并运行,笔者将以Java界最流行的Eclipse平台为例,搭建出所有基础教程中喜欢的Hello world应用. 1. JFinal简介 2. 小白的第一个JFinal程序 2.1. Eclipse平台搭建 2.1.1. 下载Eclipse 2.1.2. 配置Tomcat 2.2. 创建Web应用 2.2.1. 新建Dynamic Web工程 2.2.2. 下载JFinal 2.3. 配置及编码 2.3.1. 创建MyAppConfig.jav…
本文是基于已构建的struts2项目基础上整合 spring+hibernate,若读者还不熟悉struts2项目,请先阅读 eclipse环境下基于tomcat-7.0.82构建struts2项目 实现步骤: 第一步:引入spring所需jar包,如下图所示: 第二步:导入hibernate所需jar包,如下图中被选中jar文件: 第三步:导入struts-spring整合包,暂且就这么称呼吧 第四步:导入MySQL驱动包: 第五步:所有准备工作就绪后,接下来创建spring与hibernat…
一,web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="htt…
总结Struts2 框架 struts2技术的优势 项目开源,使用及拓展方便 提供Exception处理机制 Result方式的页面导航,通过Result标签很方便的实现重定向和页面跳转 通过简单.集中的配置来调度业务类,使得配置和修改都非常容易 提供简单.统一的表达式语言来访问所有可访问的数据 提供标准.强大的验证框架和国际化框架 提供强大的.可以有效减少页面代码的标签 提供良好的Ajax支持 拥有简单的插件,只需放入相应的Jar包,任何人都可以扩展Struts2框架,比如自定义拦截器.自定义…
很多网上的教程对Struts2的配置.安装弄得不明不白,非常多高手以为小白是什么都懂.很多细节上面的地方没有说明清楚,甚至还有在Maven上面解说的,要知道Struts2跟Maven没有半点的关系.全然能够像其他的javaweb插件那样在web.xml而且启动.同一时候复制那些包又没有说清楚.以致于依照各种教程的web.xml写好.之后,执行Tomcat一堆的错误,永远卡在Dispatcher initialization failed上面,半天出不来.弄得仅仅好在已经配置好Struts的pro…
周末真的是懒到心慌...... 本文是在完整s2sh项目基础上添加的,不太了解s2sh项目构建的朋友可以先参考一下这几篇文章: eclipse环境下基于tomcat-7.0.82构建struts2项目 eclipse环境下基于已构建struts2项目整合spring+hibernate 基于已构建S2SH项目配置全注解方式简化配置文件 首先简单说明一下为什么需要在s2sh项目中配置题目所述三项: 1.struts2动态调用: 如果不配置动态调用,我们只能在一个action中调用一个默认excut…
老杜告诉你java小白到大神是怎么炼成的 1. 学习前的准备 一个好的学习方法(应该怎么学习更高效): 一个合格的程序员应该具备两个能力 有一个很好的指法速度(敲代码快) 有一个很好的编程思想(编程思路:能够使用编程的思路去解决现实生活中问题的一种能力) 指法速度 键盘的手势要正确,左手:asdf,右手:jkl;,如果你的手势不对,从现在开始纠正它. 刚开始的时候比较麻烦,还没有二指禅快呢,但是随着时间的推移,你的代码速度会有很明显的提升.只要坚持下来.一开始的时候一定要坚持盲打(强迫自己不看键…
17年下半年的时候简单学了下strus2,好吧,现在已经全忘了,idea也是刚开始用,本来想按教程写个hello struts2,结果,出了以下系列问题. pre:step1-5是我按照百度的教程搭的,但是后来却出现了问题,可能是因为idea版本的问题(我电脑32位,安装好几次最新版的idea2018,但是运行没反应,所以才换的2017版,我也不知其中原因).   step6以后是我找出错原因的步骤,因为是小白,具体机理不懂,仅供参考吧. /---------------------------…
今年我一直在思考web开发里的前后端分离的问题,到了现在也颇有点心得了,随着这个问题的深入,再加以现在公司很多web项目的控制层的技术框架由struts2迁移到springMVC,我突然有了一个新的疑问无法得到正确的解释,为什么我们现在做java的web开发,会选择struts2或者springMVC这样的框架,而不是使用servlet加jsp这样的技术呢?特别是现在我们web的前端页面都是使用velocity这样的模板语言进行开发,抛弃了jsp,这样的选择又会给我们java的web开发带来什么…
昨天学习Struts2的Convention plugin,今天利用Convention plugin进行Interceptor学习,虽然是使用Convention plugin进行零配置开发,这只是在Interceptor的使用上,定义Interceptor还是使用strutx.xml配置形式.Interceptors模块如下图: (1)编写Interceptor 自定义Interceptor可以实现com.opensymphony.xwork2.interceptor.Interceptor…
又是周末,继续Struts2的学习,之前学习了,Struts的原理,Actions以及Results,今天对对Struts的Convention Plugin进行学习,如下图: Struts Convention支持零配置进行开发,也就是约定约定优于配置的方式. (1)环境准备 使用Convention Plugin进行开发,需要引入struts2-convention-plugin,完整的pom.xml依赖如下: <dependency> <groupId>org.apache.…
在对Struts2的Action学习之后,对Struts2的Result进行学习.主要对Struts2文档Guides中的Results分支进行学习,如下图: 1.Result Types(Result类型) Struts2的Action处理用户请求后返回一个字符串,在struts.xml配置文件中进行字符串与实际视图的映射,在配置文件中是通过action的子元素result来完成此功能的,result的格式如下: <result name="字符串" type="视图…
在对Struts2的工作原理学习之后,对Struts2的Action进行学习.主要对Struts2文档Guides中的Action分支进行学习,如下图: 1.Model Driven(模型驱动) Struts2可以让开发者不必在需要接收很多参数的时候,在Action定义一系列的属性,或者定义一个类属性传参的时候使用className.fieldName的形式传值.使用Struts2的Model Driven需要打开Model Driven拦截器,不过这个拦截器(scopedModelDriven…
在完成Struts2的HelloWorld后,对Struts2的工作原理进行学习.Struts2框架可以按照模块来划分为Servlet Filters,Struts核心模块,拦截器和用户实现部分,其中需要用户实现的部分只有三个,那就是struts.xml,Action,Template(JSP),如下图: 2.3.31中的org.apache.struts2.dispatcher.ActionContextCleanUp已经被标记为@Deprecated Since Struts 2.1.3,2…
Convention 插件 从 Struts 2.1 开始, Struts 可以使用 Convention 插件来支持零配置: Convention 插件完全抛弃配置信息, 不仅不需要使用 struts.xml 文件进行配置, 甚至不需要使用 Annotation 进行配置. 而是完全根据约定来自动配置. 安装 Conversion 插件: 复制 struts-2.2.1\lib\struts2-convention-plugin-2.2.1.jar 到当前当前 WEB 应用的 WEB-INF…
什么是表单重复提交 表单的重复提交: 若刷新表单页面, 再提交表单不算重复提交. 在不刷新表单页面的前提下: 多次点击提交按钮 已经提交成功, 按 "回退" 之后, 再点击 "提交按钮". 在控制器响应页面的形式为转发情况下,若已经提交成功, 然后点击 "刷新(F5)" 重复提交的缺点: 加重了服务器的负担 可能导致错误操作. token(令牌) 用户在访问页面时,我们要生成一个随机的token值 将该值放入到session域中,同时放在表单隐藏…
文件上传 表单准备 要想使用 HTML 表单上传一个或多个文件 须把 HTML 表单的 enctype 属性设置为 multipart/form-data 须把 HTML 表单的method 属性设置为 post 需添加 <input type="file"> 字段. Struts 对文件上传的支持 在 Struts 应用程序里, FileUpload 拦截器和 Jakarta Commons FileUpload 组件可以完成文件的上传. 步骤: 在 Jsp 页面的文件上…
1. 什么是Struts2 验证器 一个健壮的 web 应用程序必须确保用户输入是合法.有效的. Struts2 的输入验证 基于 XWork Validation Framework 的声明式验证:Struts2 提供了一些基于 XWork Validation Framework 的内建验证程序. 使用这些验证程序不需要编程, 只要在一个 XML 文件里对验证程序应该如何工作作出声明就可以了. 需要声明的内容包括: 哪些字段需要进行验证 使用什么验证规则 在验证失败时应该把什么样的出错消息发…
1.流程分析: 请求发送给 StrutsPrepareAndExecuteFilter StrutsPrepareAndExecuteFilter 询问 ActionMapper: 该请求是否是一个 Struts2 请求(即是否返回一个非空的 ActionMapping 对象) 若 ActionMapper 认为该请求是一个 Struts2 请求,则 StrutsPrepareAndExecuteFilter 把请求的处理交给 ActionProxy ActionProxy 通过 Configu…
基于Struts2框架下实现Ajax有两种方式,第一种是原声的方式,另外一种是struts2自带的一个插件. js部分调用方式是一样的: JS代码: function testAjax() { var $userNameInput = $("#ajax_username"); var userName = $userNameInput.val(); $.ajax({ url : "originAjax.action", type : "GET",…
一.前言 1.1.国际化简介 国际化是指应用程序在运行的时候,根据客户端请求来自的国家地区.语言的不同而显示不同的界面(简单说就是根据你的地区显示相关地区的语言,如果你现在在英国,那么显示的语言就是英语),国际化的存在价值就是:当一个应用需要在全球使用. 国际化(Internationalization),国际化也被存在I18N,因为头字母是I,尾字母是N,中间有18为字母,这个你了解就好. 本地化(Localization),首字母是L,尾字母是N,中间有10个字母,所以也成为L10N.(本地…
一.前言 OGNL和标签库的作用,粗暴一点说,就是减少在JSP页面中出现java代码,利于维护. 1.1.OGNL 1.1.1.什么是OGNL? OGNL(Object-Graph Navigation Language):对象图形导航语言,是一种功能强大的表达式语言,通过简单的语法,就能够任意存取对象的属性或者调用对象的方法,能够遍历整个对象的结构图,实现对象属性的类型转换功能. 1.1.2.OGNL的基本知识 1.OGNL表达式的计算是围绕OGNL上下文进行的 OGNL上下文实际上就是一个M…
今天给大家道个歉,没有及时更新MongoDB快速入门的下篇,最近有点小忙,在此向博友们致歉.下面我将简单地说一下mongdb的一些基本命令以及我们日常开发过程中的一些问题.mongodb可以为我们提供数据库来存储数据,目前在各大培训机构都会有1天左右的课程进行讲解,同时在实际来发中我们有存储数据和文件的需求,我们需要了解后台数据存储和提供的数据接口,以及如何获取数据,解析数据,也就是我们常说的前后端交互,数据访问等操作,首先我们来启动mongdb服务器. mongodb服务器启动的命令窗口方法:…
以Struts2.5.2为例 从官网上下载“struts-2.5.2-min-lib.zip”,里面有7个jar文件: commons-fileupload-1.3.2.jarcommons-io-2.4.jarcommons-lang3-3.4.jarcommons-logging-1.1.3.jarfreemarker-2.3.23.jarognl-3.1.10.jarstruts2-core-2.5.2.jar 但只用这7个jar是不够的,要不报错,要不不能正常显示,至少还需要两个: ja…
新浪sae平台现在是有个免费个人空间使用,现在,教您如何使用该平台搭建属于自己的个人网站,本教程以wordpress程序安装包搭建个人网站. 申请新浪云账号 如果我们使用SAE新浪云计算平台作为服务器资源,并且申请PHP环境+MySQL数据库作为程序运行环境. 则申请地址为: http://www.sinacloud.com/ 直接点击上述网址,可以看到右上角微博登录的链接. 点击进入之后,使用新浪微博账号进行登录 使用微博账户登陆后,需要填写安全邮箱,安全密码,手机号等信息,并勾选同意SAE协…
针对日期类java.util.Date进行类型转换,要求客户端使用"yyyy-MM-dd","yyyy/MM/dd"中的任意一种输入,并以"yyyy-MM-dd"的格式输出,该类型转换应用于全局范围 public class User { private String username;//名字 private Integer age;//年龄 private Date birthday;//生日 public String getUsernam…