服务器端开发

防止表单重复提交常规方法

蹲街弑〆低调 提交于 2019-12-24 23:54:29
在平时开发中,如果网速比较慢的情况下,用户提交表单后,发现服务器半天都没有响应,那么用户可能会以为是自己没有提交表单,就会再点击提交按钮重复提交表单,我们在开发中必须防止表单重复提交。 一、表单重复提交的常见应用场景 有如下的form.jsp页面 1 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> 2 <!DOCTYPE HTML> 3 <html> 4 <head> 5 <title>Form表单</title> 6 </head> 7 8 <body> 9 <form action="${pageContext.request.contextPath}/servlet/DoFormServlet" method="post"> 10 用户名:<input type="text" name="username"> 11 <input type="submit" value="提交" id="submit"> 12 </form> 13 </body> 14 </html>   form表单提交到 DoFormServlet进行处理 1 package xdp.gacl.session; 2 3 import java.io.IOException; 4 import javax

vc 网络编程(socket)

心已入冬 提交于 2019-12-22 16:54:48
在网上找了很多的资料,现将这些资料整合起来,详细介绍一下VC下的socket编程,并提供一个服务器客户端具体的实例。希望对您有所帮助 一、原理部分 (个人觉得这篇写的可以,所以转与此,原文地址:http://dev.yesky.com/78/2683078.shtml)   在网络编程中最常用的方案便是Client/Server (客户机/服务器)模型。在这种方案中客户应用程序向服务器程序请求服务。一个服务程序通常在一个众所周知的地址监听对服务的请求,也就是说,服务进程一 直处于休眠状态,直到一个客户向这个服务的地址提出了连接请求。在这个时刻,服务程序被"惊醒"并且为客户提供服务-对客户的请求作出适当的反应。    为了方便这种Client/Server模型的网络编程,90年代初,由Microsoft联合了其他几家公司共同制定了一套WINDOWS下的网络编 程接口,即Windows Sockets规范,它不是一种网络协议,而是一套开放的、支持多种协议的Windows下的网络编程接口。现在的Winsock已经基本上实现了与协议 无关,你可以使用Winsock来调用多种协议的功能,但较常使用的是TCP/IP协议。Socket实际在计算机中提供了一个通信端口,可以通过这个端 口与任何一个具有Socket接口的计算机通信。应用程序在网络上传输,接收的信息都通过这个Socket接口来实现。

request和response的中文乱码问题

戏子无情 提交于 2019-12-21 09:15:17
     request乱码指的是:浏览器向服务器发送的请求参数中包含中文字符, 服务器获取到的请求参数的值是乱码;   response乱码指的是:服务器向浏览器发送的数据包含中文字符,浏览器中显示的是乱码; 乱码产生的原因:   不管是request乱码还是response乱码,其实都是由于客户端(浏览器)跟服务器端采用的编码格式不一致造成的。 以request乱码为例:浏览器向服务器发送请求,因为浏览器与服务器之间的通信实质上是socket流,所以要先将请求参数(字符)转换成字节,也就是编码过程,服务器接收到请求参数后进行解码(字节转字符),然后封装到request对象中。如果客户端的编码与服务器端的解码不统一,就会导致通过request获取到的请求参数的值是乱码。 解决乱码方式: 一、response乱码 服务器发给浏览器的数据默认是按照ISO-8859-1编码,浏览器接收到数据后按照默认的字符集进行解码后显示,如果浏览器的默认解码字符集不是ISO-8859-1,就出现乱码。 对于response乱码,只需要在服务器端指定一个编码字符集,然后通知浏览器按照这个字符集进行解码就可以了。有三种方式: 方式1:response.setCharacterEncoding("utf-8”);//设置服务器端的编码,默认是ISO-8859-1;该方法必须在response

Java web 中的HttpServletRequest对象

。_饼干妹妹 提交于 2019-12-20 09:29:15
一、HttpServletRequest介绍   HttpServletRequest对象代表客户端的请求,当客户端通过HTTP协议访问服务器时,HTTP请求头中的所有信息都封装在这个对象中,通过这个对象提供的方法,可以获得客户端请求的所有信息。 二、Request常用方法 2.1、获得客户机信息    getRequestURL()方法返回客户端发出请求时的完整URL。   getRequestURI () 方法返回请求行中的资源名部分。   getQueryString () 方法返回请求行中的参数部分。   getPathInfo () 方法返回请求URL中的额外路径信息。额外路径信息是请求URL中的位于Servlet的路径之后和查询参数之前的内容,它以“/”开头。    getRemoteAddr () 方法返回发出请求的客户机的IP地址。   getRemoteHost () 方法返回发出请求的客户机的完整主机名。   getRemotePort () 方法返回客户机所使用的网络端口号。   getLocalAddr () 方法返回WEB服务器的IP地址。   getLocalName () 方法返回WEB服务器的主机名。 范例:通过request对象获取客户端请求信息 1 package gacl.request.study; 2 import java.io

ios开发 Socket通信

时光怂恿深爱的人放手 提交于 2019-12-18 13:20:21
ios开发 Socket通信 Socket描述了一个IP、端口对。它简化了程序员的操作,知道对方的IP以及PORT就可以给对方发送消息,再由服务器端来处理发送的这些消息。所以,Socket一定包含了通信的双发,即客户端(Client)与服务端(server)。 1)服务端利用Socket监听端口; 2)客户端发起连接; 3)服务端返回信息,建立连接,开始通信; 4)客户端,服务端断开连接。 1套接字(socket)概念 套接字(socket)是通信的基石,是支持TCP/IP协议的网络通信的基本操作单元。 应用层通过传输层进行数据通信时,TCP会遇到同时为多个应用程序进程提供并发服务的问题。多个TCP连接或多个应用程序进程可能需要通过同一个 TCP协议端口传输数据。为了 区别不同的应用程序进程和连接 ,许多计算机操作系统为应用程序与TCP/IP协议交互提供了套接字(Socket)接口。应 用层可以和传输层通过Socket接口,区分来自不同应用程序进程或网络连接的通信,实现数据传输的并发服务。 2 建立socket连接 建立Socket连接至少需要一对套接字,其中一个运行于客户端,称为ClientSocket,另一个运行于服务器端,称为ServerSocket。 套接字之间的连接过程分为三个步骤:服务器监听,客户端请求,连接确认。 服务器监听:服务器端套接字并不定位具体的客户端套接字

Node服务器端开发第一天

北慕城南 提交于 2019-12-13 04:54:38
Node服务器端开发第一天 Node简介及配置、快速上手、核心特点、模块化 Node简介 客户端的JavaScript是怎样的 什么是 JavaScript? 脚本语言 运行在浏览器中 一般用来做客户端页面的交互(Interactive) JavaScript 的运行环境? 是不是运行在浏览器呢? 不够严谨 运行在浏览器内核中的 JS 引擎(engine) 浏览器中的 JavaScript 可以做什么? 操作DOM(对DOM的增删改、注册事件) AJAX/跨域 BOM(页面跳转、历史记录、console.log()、alert()) ECMAScript 浏览器中的 JavaScript 不可以做什么? 文件操作(文件和文件夹的CRUD) 没有办法操作系统信息 由于运行环境特殊(我们写的代码是在不认识的人的浏览器中运行) 在开发人员能力相同的情况下编程语言的能力取决于什么? -语言本身?- 语言本身只是提供定义变量,定义函数,定义类型,流程控制,循环结构之类的操作 取决于运行该语言的平台(环境) 对于JS来说,我们常说的JS实际是ES,大部分能力都是由浏览器的执行引擎决定 BOM和DOM可以说是浏览器开放出来的接口 比如:Cordova中提供JS调用摄像头,操作本地文件的API Java既是语言也是平台 Java运行在Java虚拟机(跨操作系统) PHP既是语言也是平台(跨操作系统

什么是AJAX?

会有一股神秘感。 提交于 2019-12-11 02:12:50
这里是修真院前端小课堂,每篇分享文从 【背景介绍】【知识剖析】【常见问题】【解决方案】【编码实战】【扩展思考】【更多讨论】【参考文献】 八个方面深度解析前端知识/技能。 大家好,我是 IT 修真院上海分院的何岳,一枚正直纯洁善良的web程序员 今天给大家分享一下,修真院官网 JS任务五,深度思考中的知识点—— 什么是AJAX? 1. 背景介绍 什么是AJAX? async JavaScript and xml,异步的js和xml ajax之所以称为异步的js和xml,主要原因是:当初最开始用ajax实现客户端和服务器端数据通信的时候,传输的数据格式一般都是xml格式的数据,所以把它称之为异步js和xml(现在一般都是基于json格式来进行数据传输的) 2. 知识剖析 xml和异步的js xml:可扩展的标记语言,作用是用来存储数据的(通过自己扩展的标记名称清晰的展示出数据结构) xml: <?xml version ="1.0" encoding ="UTF-8"?> <root> <student> <name>张三</name> <age>25</age> <socre> <english>100</english> <math>99</math> <chinese>89</chinese> </socre> <name>李四</name> <age>24</age>

基于Java实现hello/hi简单网络聊天程序

a 夏天 提交于 2019-12-10 22:15:52
目录 Socket简要阐述 Socket的概念 Socket原理 hello/hi的简单网络聊天程序实现 服务器端 客户端 程序执行结果 跟踪分析调用栈 & Linux API对比 创建ServerSocket 调用栈图示 源码分析 Socket绑定 调用栈图示 源码分析 Socket监听 调用栈图示 源码分析 Socket Accept 调用栈图示 源码分析 Java Socekt API与Linux Socket API 参考链接 Socket简要阐述 Socket的概念 Socket的英文原义是“孔”或“插座”。 在网络编程中,网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个Socket。 Socket套接字是通信的基石,是支持 TCP/IP协议 的网络通信的基本操作单元。 它是网络通信过程中端点的抽象表示,包含进行网络通信必须的五种信息:连接使用的协议,本地主机的IP地址,本地进程的协议端口,远地主机的IP地址,远地进程的协议端口。 Socket本质是 编程接口(API) ,对TCP/IP的封装,TCP/IP也要提供可供程序员做网络开发所用的接口,这就是Socket编程接口。 HTTP是轿车,提供了封装或者显示数据的具体形式;Socket是发动机,提供了网络通信的能力。 Socket原理 Socket实质上提供了进程通信的端点。进程通信之前

Java实现一个hello/hi的简单的网络聊天程序

房东的猫 提交于 2019-12-10 20:02:07
实验介绍   本次实验使用Java语言,使用Java Socket以tcp协议实现客户端和服务器端的通信。 什么是socket通信?   在网络编程中,网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个socket。socket通信是基于应用服务与TCP/IP通信之间的一个抽象,它将TCP/IP协议里面复杂的通信逻辑进行分装,对用户来说,只要通过一组简单的API就可以实现网络的连接。 Socket套接字是通信的基石,是支持TCP/IP协议的网络通信的基本操作单元。它是网络通信过程中端点的抽象表示,包含进行网络通信必须的五种信息:连接使用的协议,本地主机的IP地址,本地进程的协议端口,远地主机的IP地址,远地进程的协议端口。Socket本质是编程接口(API),对TCP/IP的封装,TCP/IP也要提供可供程序员做网络开发所用的接口,这就是Socket编程接口。 套接字之间的连接过程可以分为三个步骤:服务器监听,客户端请求,连接确认。 1、服务器监听:是服务器端套接字并不定位具体的客户端套接字,而是处于等待连接的状态,实时监控网络状态。 2、客户端请求:是指由客户端的套接字提出连接请求,要连接的目标是服务器端的套接字。为此,客户端的套接字必须首先描述它要连接的服务器的套接字,指出服务器端套接字的地址和端口号,然后就向服务器端套接字提出连接请求。 3、连接确认

WebSocket使用教程

▼魔方 西西 提交于 2019-12-10 04:24:12
什么是WebSocket?看过html5的同学都知道,WebSocket protocol 是HTML5一种新的协议。它是实现了浏览器与服务器全双工通信(full-duplex)。HTML5定义了WebSocket协议,能更好的节省服务器资源和带宽并达到实时通讯。现在我们来探讨一下html5的WebSocket 概念 HTML5作为下一代WEB标准,拥有许多引人注目的新特性,如Canvas、本地存储、多媒体编程接口、WebSocket 等等。今天我们就来看看具有“Web TCP”之称的WebSocket. WebSocket的出现是基于Web应用的实时性需要而产生的。这种实时的Web应用大家应该不陌生,在生活中都应该用到过,比如新浪微博的评论、私信的通知,腾讯的WebQQ等。让我们来回顾下实时 Web 应用的窘境吧。 在WebSocket出现之前,一般通过两种方式来实现Web实时用:轮询机制和流技术;其中轮询有不同的轮询,还有一种叫Comet的长轮询。 轮询:这是最早的一种实现实时 Web 应用的方案。客户端以一定的时间间隔向服务端发出请求,以频繁请求的方式来保持客户端和服务器端的同步。这种同步方案的缺点是,当客户端以固定频率向服务 器发起请求的时候,服务器端的数据可能并没有更新,这样会带来很多无谓的网络传输,所以这是一种非常低效的实时方案。 长轮询:是对定时轮询的改进和提高