今天继续学习erp,赖老师没有按功能实现一味的添加代码,而是和大家一块讨论模块的设计,从提高用户体验效果入手,真正理解产品档案登记模块的业务设计流程,体验真实的软件开发流程,感觉效果不错。对今天所学重点总结一下。
使用Ajax 对输入产品是否已经登记进行验证,在页面读刷新给出提示信息,使页面更友好,提高用户体验效果。
XMLHttpRequest:该对象是对 JavaScript 的一个扩展,可使网页与服务器进行通信。是创建 Ajax 应用的最佳选择。实际上通常把 Ajax 当成 XMLHttpRequest 对象的代名词。
XMLHttpRequest最早是在IE5中以ActiveX组件的形式实现的。非W3C标准.
创建XMLHttpRequest对象(由于非标准所以实现方法不统一)
(1) Internet Explorer把XMLHttpRequest实现为一个ActiveX对象。
(2)其他浏览器(Firefox、Safari、Opera…)把它实现为一个本地的JavaScript对象。
(3) XMLHttpRequest在不同浏览器上的实现是兼容的,所以可以用同样的方式访问XMLHttpRequest实例的属性和方法,而不论这个实例创建的方法是什么。
创建XMLHttpRequest对象。首先,要创建一个全局作用域变量xmlHttp来保存这个对象的引用。createXMLHttpRequest方法完成创建XMLHttpRequest实例的具体工作。对window.ActiveXObject的调用会返回一个对象,也可能返回null,if语句会把调用返回的结果看作是true或false(如果返回对象则为true,返回null则为false),以此指示浏览器是否支持ActiveX控件,相应地得知浏览器是不是Internet Explorer。如果确实是,则通过实例化ActiveXObject的一个新实例来创建XMLHttpRequest对象,并传入一个串指示要创建何种类型的ActiveX对象。在这个例子中,为构造函数提供的字符串是Microsoft.XMLHTTP,这说明你想创建XMLHttpRequest的一个实例。
var xmlHttp;
function createXMLHttpRequest() {
if (window.ActiveXObject) {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
} else if (window.XMLHttpRequest) {
xmlHttp = new XMLHttpRequest();
}
}
要用到的XMLHttpRequest的方法
open(“method”, “url”) 向服务器发送请求, 建立对服务器的调用。Method参数可以是GET、POST或PUT.url参数可以是相对URL或绝对URL。
send(content) 向服务器发送请求。content值设置为null,以异步方式发送请求,发送完后直接返回 (与传统交互相反,传统的交互方式必须等到服务器响应完毕)。
要用到的XMLHttpRequest的属性
onreadystatechange 每个状态改变是都会触发这个事件处理器,通常会调用一个javaScript函数,该事件处理函数由服务器触发,而不是用户
在 Ajax 执行过程中,服务器会通知客户端当前的通信状态。这依靠更新 XMLHttpRequest 对象的 readyState 来实现。改变 readyState 属性是服务器对客户端连接操作的一种方式。每次 readyState 属性的改变都会触发 readystatechange 事件。
readyState 请求的状态,有5个可取值:0=未初始化、1=正在加载、2=已经加载、3=交互中、4=完成。
responseText 服务器的响应,表示为一个串。
status 服务器的HTTP状态码(200对应OK、404对应NotFount、等)
实现代码如下:
<script language="javascript">
var httpRequest = null;
//实现XMLHttpRequest请求初始化
function initializeXMLHttpRequest(){
//针对Mozilla等
if(window.XMLHttpRequest) {
//alert('xmlhttprequest');
httpRequest = new XMLHttpRequest();
} else if(window.ActiveXObject) {
//针对IE
//alert('activexobject');
httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
}
}
//处理响应
function processResponse(){
//判断请求目前的状态。4表示服务器已经传回所有的信息,可开始处理信息.
if(httpRequest.readyState == 4) {
//判断返回的HTTP状态码,确定返回的页面没有错误。200代表页面正常。
if(httpRequest.status == 200) {
//alert(httpRequest.responseText);
//成功则用服务器端返回值更新数据,比如设置控件的值,responseText 服务器的响应,表示为一个串。
document.getElementById('productNameMessage').innerHTML=httpRequest.responseText;
//if the name does exist,disable the submit button and clear the product name .
}
}
}
//发送请求
function sendRequest(url){
//实现XMLHttpRequest请求初始化
initializeXMLHttpRequest();
//指定响应处理函数,(即当响应从服务器端返回后,客户怎么办?)
httpRequest.onreadystatechange=processResponse;
//使用get 方式 建立对服务器的调用。Method参数可以是GET、POST或PUT.url参数可以是相对URL或绝对URL
httpRequest.open("get",url);
//以异步方式发送请求,发送完后直接返回 (与传统交互相反,传统的交互方式必须等到服务器响应完毕)
httpRequest.send(null);
}
function validateProductName(){
var productName = document.forms[0].productName.value;
sendRequest("<%=request.getContextPath()%>/validateProductNameServlet?productName="+productName);
}
</script>
validateProductNameServlet 获取客户输入的产品名称,查询数据库,验证是否已经存在。向客户端返回不同的信息。
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
ProductService productService=new ProductService();
String productName=req.getParameter("productName");
if(!productName.trim().equals("")){
String message="You may use the productName";
if(productService.isRepeated(productName)){
message="The name dose exist";
}
resp.getOutputStream().println(message);
}else {
resp.getOutputStream().println("please input name");
}
}
相关推荐
黑马传智播客CRM客户管理系统.rar
黑马传智播客课本资源 Java代码+sql文件这是课本中的代码 自己写的
传智播客erp项目学习,防止表单重复提交及MRP
今天结束了erp的学习,赖老师对模块加入防止表单重复提交功能的实现进行了讲解,对ssh进行了总结,在有些技术方面比如对标签使用的选择,尽量用最基本的东西,不要太依赖某一个框架,最后还讲了MRP:Materials Requirements Planning (物料需求计划)的业务流程。防止表单重复提交,使用令牌(token)管理机制:每次提交之前必须获取一个新令牌。1、 服务端给客户端
传智播客ERP源代码加文档加设计图
传智播客最新ERP源代码,加类图等资源。内容还包括,extjs.报表, java操作excel等源代码。是各种java爱好者学习的不可多得的好资料
java erp 视频_Java开发ERP项目视频教程
本套视频是传智播客推出的一套传统企业级项目开发课程,该视频专门针对有一定java基础(熟悉SSH集成框架)和前端基础(HTML JS JQuery.)。隐藏内容,您需要满足以下条件方可查看更新至第1章需求分析与系统设计 1课程介绍 2需求分析与设计 3系统架构 4开发工具 5数据库Oracle 6 SSH2框架搭建 7列表查询整理更新中,敬请期待下面章节第2章 增删改查功能的实现 1部门管理 2通...
绝版的《实战SAP程序开发》PDF版
绝版的《实战SAP程序开发》PDF版,第一章到第十二章。
【百度网盘】SSH企业案例erp_项目整合-完整高清视频+源码
【百度网盘】SSH企业案例erp_项目整合-完整高清视频+源码
ERP项目介绍——适合刚学完SSH的朋友
前言ERP项目是我学完SSH框架后做的第二个项目练习,第一个是前面介绍的JYUOA,这个项目的业务逻辑要比JYUOA复杂一下,但是在技术方面有很多使用的是类似的,像什么增删改查功能,还有公共功能抽取什么的。但是也有一些差别,你可以发现完成同一件事情会有不同的方法,通过两个项目的对比,你会觉得有些方法会比较好(没有比较就没有伤害~)。比如说在JYUOA中,是采用注解方式扫描bean和注入依赖,而ERP
传智播客课件资料大全
我所收集到的一些传智播客上课用的一些PPT和代码、学习笔记等,放在一起方便大家下载,不用一个个去找了,包括SSH、SSI、Lucence、单点登陆、oscache、JDBC、Ajax、jQuery、SCM、JPA、SVN等。
2015年传智播客JavaEE 第168期就业班视频教程day45-ERP项目-01 10-类图结构分析设计...
运行astah-pro.bat,这是windows下运行的。astah-run.sh是Linux下运行的。 类结构视图的作用是描述类模型和模型与模型之间的关系,也就是说我们在这要把这个一对多和多对多的关系理清楚。这个工具最强悍的地方是如果做完视图的话右键一点可以帮你上传表结构,再右键一点可以把你的类全部做好,再右键一点可以把DAO全部写好。 这里新建一个类是视图化的效...
视频异常检测 5 大经典数据集实战对比:UCSD Ped2 vs CUHK Avenue vs Street Scene
本文深入对比分析了视频异常检测领域的五大经典数据集,包括UCSD Ped2、CUHK Avenue和Street Scene等,从场景复杂度、异常类型和标注质量等多维度进行实战评估。通过详细的数据集特性解析和计算效率测试,为研究者和工程师提供选型指导,帮助优化算法在智能监控和安防领域的应用效果。
远程桌面项目
远程桌面项目
传智播客年轻的老师们!!
【传智播客的老师个个都是行业的领军人物】很多很年轻,他们是我们的榜样!!奋斗的目标!!========================== ======== 传智老师 ========【讲师介绍】 张孝祥老师是中国IT就业培训的开创者之一,著名IT培训教育专家,具有多年软件开发和教学经验,直接面授培训过数以万计的软件开发人员,深受学员们的好评和喜爱,现任北京
FFT中的精度博弈:定点数缩放、块浮点与溢出处理在Vivado IP核中的实践权衡
本文探讨了在Vivado FFT IP核中实现高精度快速傅里叶变换的关键技术,包括定点数缩放策略、块浮点模式及溢出处理机制。通过分析不同精度控制方案的资源开销与性能权衡,为工程师在医疗成像、雷达信号处理等高动态范围应用中优化FFT实现提供实践指导。
day13
1谈谈你对Ajax 的理解?(概念、特点、作用)AJAX 全称为「Asynchronous JavaScript And XML」(异步 JavaScript 和 XML) 是指一种创建交互式网页应用的开发技术、改善用户体验,实现无刷新效果。优点a、无刷新更新数据,能在不刷新整个页面的前提下与服务器通信维护数据;b、异步与服务器通信,不需要打断用户的操作,具有更加迅速的响应能力;c、提高 Web ...
新手小白入门编程第2讲 JAVA编程环境搭建 JDK与环境变量、Eclipse
1 JDK 1.1 JDK概述 JDK是 Java 语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。 JDK是整个java开发的核心,它包含了: JAVA开发工具(jdk\bin) 基础开发库(jdk\jre\lib\rt.jar) 基础开发库的源码(jdk\src.zip) 1.2 JDK下载与安装 本次使用的是JDK1.8,详细安装步骤可以参见”JDK培优安装手册”. 注意事项: 同时安装多个JDK时需要使用执行环境变量来确认使用的是哪个jdk 安装时选择默认选项安装到默认
微信电脑版本不会自动下载图片吗?——没有找到解决方法。——只会默认下载doc等文件,图片不行,需要自己另存为——有什么办法解决吗?
微信电脑版本不会自动下载图片吗?——没有找到解决方法。——只会默认下载doc等文件,图片不行,需要自己另存为——有什么办法解决吗?此外,用户还可以选择将接收到的图片、视频和文件保存到指定的文件夹中。用户可以在微信设置中调整这一设置。
传智播客erp项目学习,了解软件开发流程,使用apache的文件上传组件
今天继续学习erp项目,赖老师让大家先明确学习这个项目的目标,没有直接敲代码去实现,讲了erp的业务流程和软件开发的流程。并对产品档案登记模块的实现进行讲解,复习了apache的文件上传组件。 学习目标:1、 巩固所学知识:struts1+spring2+hibernate32、 学习新业务:(erp,产品档案管理,库存管理)3、 了解软件开发流程ssh:事务特性:Acid:
Docker 环境 Playwright MCP 部署全流程指南
Docker部署Playwright MCP全流程指南 本文详细介绍了使用Docker容器化部署Playwright MCP的完整流程,涵盖镜像拉取、容器启动、配置优化和问题排查。主要内容包括: 核心部署步骤:通过官方镜像快速搭建环境,支持自定义端口和数据持久化 关键配置要点:详解网络设置、持久化目录挂载和环境变量配置 服务验证方法:通过日志检查和服务连通性测试确保部署成功 客户端集成:提供VS Code等IDE的配置示例 常见问题解决:针对浏览器启动超时、跨域限制等问题给出解决方案 实战案例:演示自动化爬
java框架姜涛_传智播客168期 JavaEE就业班 含ERP项目
开学典礼2.html 任童3.css/javaScript基础 任童4.javaScript基础&DOM 任童5.DOM/xml基础 任童6.xml&dom_sax&dom4j编程 任童7.java基础加强 任童8.tomcat与web程序结构与Http协议 任童9.java web之servlet 任童10.java web之request/respone 任童11.Co...
多体动力学分析软件:SIMPACK_(17).SIMPACK高级编程与脚本
自定义力和约束可以用于模拟更复杂和现实的物理场景。SIMPACK 提供了接口,允许用户通过 Python 脚本来实现自定义力和约束。以下是一个示例,展示如何定义一个自定义力函数并应用于模型。# 定义自定义力函数"""自定义力函数:param t: 时间:param position: 位置:param velocity: 速度:return: 力"""# 创建一个新的 SIMPACK 模型# 添加一个刚体# 添加一个关节# 添加一个自定义力# 设置仿真参数# 运行仿真。
Data-Structures-and-Algorithm-Analysis-in-Java.pdf
作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...
ERP项目笔记-Day01
技术选型: 采用前后端开发,不再像以前那样跳来跳去了。更加注重用户体验。 数据库的创建和准备: 关于数据库是很大的一块内容,需要根据实际需求去设计表。如果是在公司,会有人设计好数据表,我们可以直接来用。 我是用的别人的数据库设计。这里不写建表语句了。 然后根据开发规范去调开发环境,使用指定版本的工具。这样便于维护,和团队开发。 再接下来就去建Ma...
NTscan扫描工具
ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。
传智播客--进销存之对Action的抽取和自己的WebForm的实现
今天我们继续使用反射和泛型技术对我们的快速开发做前期的准备工作.这个项目主要体现了快速开发的思想.在前期的时候,优势不是很明显,但我们把基础都做好之后,越是往后我们会发现明显的优势.和快速的开发速度.但这个是有代价的,就是前期充分的准备工作.今天我们主要是使用第一天实现的DAO层和Service层.并对Action抽取出一个基础的BaseAction.1.使用 spring
ET2012新版免狗免安装绿色软件
ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,
C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片
基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正
传智播客--进销存之项目架构,DAO层和Service层的泛型抽取和实现
今天开始学习进销存项目了.有了之前的基础,对这个项目很有信心.可是老师一上来对项目的介绍和行业热门技术的介绍,让我的信心一下就没了.本来感觉自己已经不错了,可是这才知道要学的还真是不少.这给项目里我们有要接触很多新鲜的热门技术.他们和之前的技术都是一样的共同点,就是相当的实用.在公司中大量的使用,而且很先进.比如我们总在招聘启示上看到的模板技术什么的.打起精神,好好学习吧.1)进销
1901



被折叠的 条评论
为什么被折叠?



