服务器端

【Servlet】深入浅出JavaServlet重定向和请求转发

痞子三分冷 提交于 2020-02-04 02:27:50
import java.text.*; import java.util.*; import java.io.*; import javax.servlet.http.*; import javax.servlet.*; import com.bjpowernode.exam.model.*; import com.bjpowernode.exam.manager.*; public class SearchStudentServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doPost(request, response); } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String sBeginDate = request.getParameter("beginDate"); String sEndDate = request.getParameter(

Java 基础流程图、架构图

爱⌒轻易说出口 提交于 2020-02-03 20:00:51
Java 基础流程图、架构图 1. Spring 的生命周期 流程: 首次容器启动后,对 bean 进行初始化 按照 bean 的定义,注入属性 检测该贵姓是否实现了 xxxAware 接口,并将相关 xxxAware 实力注入给 bean,如 BeanNameAware 等 以上步骤,bean对象已正确构造,通过实现 BeanPostProcessor接口,可以再进行一些自定义方法处理。如:postProcessBeforeInitialzation BeanPostProcessor的前置处理完成后,可以实现postConstruct,afterPropertiesSet,init-method等方法, 增加我们自定义的逻辑 通过实现BeanPostProcessor接口,进行postProcessAfterInitialzation后置处理 接着Bean准备好被使用啦。 容器关闭后,如果Bean实现了DisposableBean接口,则会回调该接口的destroy()方法 通过给destroy-method指定函数,就可以在bean销毁前执行指定的 2. TCP 三次握手,四次握手 三次握手: 第一次握手(SYN=1, seq=x),发送完毕后,客户端进入 SYN_SEND 状态 第二次握手(SYN=1, ACK=1, seq=y, ACKnum=x+1), 发送完毕后

【HTTP请求】、详解

倖福魔咒の 提交于 2020-02-02 17:57:37
一、协议介绍   HTTP(HyperText Transfer Protocol,超文本传输协议)是一套计算机通过网络进行通信的规则,使HTTP客户端能够从HTTP服务器端请求到信息和服务,目前的版本号是1.1 是无状态协议,无状态是指从客户端发送HTTP请求到服务器,服务器接收到请求之后做出回应,这样链接就关闭了,在服务器端不需要保留客户端的相关信息。 二、协议过程   HTTP通讯机制是在一次完整的HTTP通讯过程中,客户端和服务器之间建立连接分为以下几个步骤。   1. 建立连接: 其中包括:域名解析,TCP三次握手。     域名解析:将HTTP请求中的域名转化为IP地址,其中主要步骤有,以Chrome为例,访问www.baidu.com     ① 首先,Chrome会搜索浏览器自身的DNS缓存(缓存较少),看自身有没有改域名的IP地址,如果有停止解析返回IP,如果没有继续解析。       注解:Chrome中的DNS可以通过在浏览器中输入 chrome://net-internals/#dns 来进行查看浏览器DNS缓存。          ② 如果在浏览器的自身的DNS缓存中没有找到,那么Chrome会搜索操作系统自身的DNS缓存,如果找到就停止,没有找到继续解析。     注解:可以通过命令行 ipconfig /displaydns 来查看操作系统的DNS缓存

c/s和b/s两种开发模式

僤鯓⒐⒋嵵緔 提交于 2020-02-02 05:55:46
CS(Client/Server):客户端----服务器结构。 C/S结构在技术上很成熟,它的主要特点是交互性强、具有安全的存取模式、网络通信量低、响应速度快、利于处理大量数据。因为客户端要负责绝大多数的业务逻辑和UI展示,又称为胖客户端。它充分利用两端硬件,将任务分配到Client 和Server两端,降低了系统的通讯开销。C/S结构的软件需要针对不同的操作系统系统开发不同版本的软件,加之产品的更新换代十分快,已经很难适应百台电脑以上局域网用户同时使用。   C/S 架构是一种典型的两层架构,其客户端包含一个或多个在用户的电脑上运行的程序,而服务器端有两种,一种是数据库服务器端,客户端通过数据库连接访问服务器端的数据;另一种是Socket服务器端,服务器端的程序通过Socket与客户端的程序通信。    BS(Browser/Server):浏览器----服务器结构 它是目前应用系统的发展方向。BS是伴随着Internet技术的兴起,对C/S架构的改进,为了区别于传统的C/S 模式,特意称为B/S模式。在这种结构下,通过W3浏览器来进入工作界面,极少部分事务逻辑在前端(Browser)实现,主要事务逻辑在服务器端(Server)实现,形成三层(3-tier)结构。这样使得客户端电脑负荷大大简化(因此被称为瘦客户端),减轻了系统维护、升级的支出成本,降低了用户的总体成本(TCO)。

图解HTTP(2)

自古美人都是妖i 提交于 2020-02-01 00:01:41
第2章 简单的HTTP协议 1.HTTP协议在客户端和服务端之间的通信 客户端 :请求访问文本或图像等资源的一端。 服务器端 :提供资源响应的一端。 注意:就一条通信路线来说,服务器端和客户端的角色是确定的,而用HTTP协议能够明确区分哪端是客户端,哪端是服务器端。 2.通过请求和响应的交换达成通信 过程: 请求从客户端出发,最后服务器端响应该请求并返回。 GET :请求访问服务的类型 ; /index.htm :请求访问的资源对象; HTTP/1.1 :HTTP的版本号,用来提示客户端使用的HTTP协议功能; 请求访问hackr.jp主机的/index.htm页面资源。 HTTP/1.1 :HTTP版本号 200 :状态码(status code) Date :创建响应的日期时间 <html>...</html> :资源实体的主体 3.HTTP是不保存状态的协议 为了更快的处理大量事物,确保协议的可伸缩性,协议本身并不保留之前一切的请求或响应报文的信息。 Cookie :可记录状态,后面会讲到。 4.告知服务器意图的HTTP方法 [1] GET 获取资源 GET方法用来请求访问已被URI识别的资源。指定的资源经服务器端解析后返回相应内容。 [2] POST 传输实体主体 POST与GET都可以用来传输实体的主体。但POST的主要目的并不是获取相应的主体内容。 [3] PUT

Java中bio编程

我与影子孤独终老i 提交于 2020-01-31 19:34:22
网络编程(Socket)概念 网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个 socket。 建立网络通信连接至少要一个端口号。socket 本质是编程接口(API),对 TCP/IP 的封装, TCP/IP 也要提供可供程序员做网络开发所用的接口,这就是 Socket 编程接口;HTTP 是轿车, 提供了封装或者显示数据的具体形式;Socket 是发动机,提供了网络通信的能力。 Socket 连接步骤 根据连接启动的方式以及本地套接字要连接的目标,套接字之间的连接过程可以分为三 个步骤:服务器监听,客户端请求,连接确认。【如果包含数据交互+断开连接,那么一共是 五个步骤】 (1)服务器监听:是服务器端套接字并不定位具体的客户端套接字,而是处于等待连 接的状态,实时监控网络状态。 (2)客户端请求:是指由客户端的套接字提出连接请求,要连接的目标是服务器端的 套接字。为此,客户端的套接字必须首先描述它要连接的服务器的套接字,指出服务器端套 接字的地址和端口号,然后就向服务器端套接字提出连接请求。 (3)连接确认:是指当服务器端套接字监听到或者说接收到客户端套接字的连接请求, 它就响应客户端套接字的请求,建立一个新的线程,把服务器端套接字的描述发给客户端, 一旦客户端确认了此描述,连接就建立好了。而服务器端套接字继续处于监听状态,继续接

Day04 (一)_TCP传输服务器端设计

给你一囗甜甜゛ 提交于 2020-01-31 14:37:08
前言 IP 地址的作用是唯一识别网络中的主机, IP 位于网络层 协议 + 端口号:可以唯一识别主机中的应用程序(进程) 这样,利用三元组( IP 地址,协议、端口)就可以标识网络的进程,网络中的进程通信就可以利用这个标识与其他进程进通信。 套接字 Socket 的来龙去脉: socket 即是一种特殊的文件,一些 socket 函数就是对其进行的操作(打开、读 / 写 IO 、关闭),这些函数我们在后面进行介绍。在组网领域的首次使用是在 1970 年 2 月 12 日发布的文献 IETF RFC33 中发现的,撰写者为 Stephen Carr 、 Steve Crocker 和 Vint Cerf 。根据美国计算机历史博物馆的记载, Croker 写道:“命名空间的元素都可称为套接字接口。一个套接字接口构成一个连接的一端,而一个连接可完全由一对套接字接口规定。”计算机历史博物馆补充道:“这比 BSD 的套接字接口定义早了大约 12 年。 8.1 TCP/IP TCP/IP :传输控制协议 / 网络协议是指能在多个不同网络间实现信息传输的协议簇。本协议不仅仅指的是 TCP 和 IP 两个协议,还有 FTP 、 SMTP 、 TCP 、 UDP 、 IP 等协议构成的协议簇。 根据以上介绍,可以看出 TCP/IP 协议中包含有 UDP 协议,姑且可以这样认为: UDP 是 TCP

web----HTML(WEB概述)

自古美人都是妖i 提交于 2020-01-31 02:56:46
## web概述: *JavaWeb: 什么是web,即JavaWeb(使用Java语言开发基于互联网的项目)。 *软件架构: 1、C/S:Client/Server 客户端/服务器端 *在用户本地有一个客户端程序,在远程有一个服务端程序。如:QQ,迅雷... *优点:1、用户体验好(很多资源都提前跟随着客户端安装好了) *缺点:1、开发(考虑开发两端),安装,部署,维护麻烦。 2、B/S: Browser/Server 浏览器端/服务器端 *只需要一个浏览器,用户通过不同的网址(URL),可以访问远程不同的服务器端程序 *优点:1、开发,安装,部署(只需要放在服务器端就可以使用了),维护简单。 *缺点:1、如果应用过大,用户的体验可能会受到影响。     2、对硬件的要求过高。 *B/S架构: 资源分类: 1、静态资源:使用静态网页开发技术发布的资源。 特点:*所有用户访问,得到的结果是一样的。 * 如:文本,图片,音频,视频。 HTML/CSS/JAVASCRIPT    *如果用户请求的是静态资源,那么服务器或直接将静态资源发送给浏览器。浏览器内置了解析静态资源的引擎,可以来展示静态资源。 2、动态资源: 使用动态网页技术发布的资源 特点:*所有用户访问,得到的结果可能不一样。     *jsp/servlet,php(全世界最好的语言!),asp...    

通过 Socket 实现 TCP 编程

前提是你 提交于 2020-01-30 18:18:30
Socket通信: TCP协议是面向连接的、可靠的、有序的,以字节流的方式发送数据 基于TCP协议实现网络通信的类   客户端的Socket类   服务器端的ServerSocket类 Socket通信实现步骤   1.创建ServerSocket和Socket   2.打开连接到Socket的输入、输出流   3.按照协议对Socket进行读/写操作   4.关闭输入输出流、关闭Socket 服务器端:   创建ServerSocket对象,绑定监听端口   通过accept()方法监听客户端请求   连接建立后,通过输入流读取客户端发送的请求信息   通过输出流向客户端发送响应信息   关闭相关资源 客户端:   创建Socket对象,指明需要连接的服务器的地址和端口号   连接建立后,通过输出流向服务器端发送请求信息   通过输入流获取服务器响应的信息   关闭相关资源 应用多线程来实现服务器与多客户端之间的通信   基本步骤   1.服务器端创建ServerSocket,循环调用accept()等待客户端连接   2.客户端创建一个socket并请求和服务器端连接   3.服务器端接收客户端请求,创建socket与该客户建立专线连接   4.建立连接的两个socket在一个单独的线程上对话 /* * 基于TCP协议的Socket通信,实现用户登陆 * 服务器端 */

svn环境搭建及使用

允我心安 提交于 2020-01-30 11:10:43
svn服务器端下载地址:http://subversion.apache.org/packages.html svn客户端下载地址:http://sourceforge.net/projects/tortoisesvn/files/1.8.12/Application/ 注意:svn服务器端版本一定大于等于svn客户端版本,否则 会报出如下错误:svn checkout期望文件系统格式在“1”到“6”之间;发现格式“7” 1.创建一个根目录,这个根目录用来存储所有的svn的工厂信息(每一个工厂等于一个项目) 2.打开命令行窗口,启动svn-->svnserve -d -r F:\DevRepository\Subversion 此时,svn服务器端就已经启动了。(新开一个命令行窗口输入“netstat -na” svn服务器端默认监听3690端口) 但是如果第一个命令行窗口关闭了,服务器端就停止了。对于Linux而言,直接后台启动即可。对于window而言,后台启动无用,所以需要将其添加到window的服务中 在命令行窗口中输入(需以管理员身份运行) sc create SVNService binpath="D:\soft\common\Subversion\bin\svnserve.exe --service -r F:\DevRepository\Subversion"