servlet和socket

servlet和socket


和同学聊天时提到了servlet和socket,感觉不太明白,就把它俩重新整理了一下。

socket

socket(套接字)的翻译是“孔”或“插座”。是使用TCP/IP或者UDP协议在服务器与客户端之间进行传输(指明两个地址的连接通讯方式:IP地址、端口)的技术。它自己建立连接,是网络编程的基础。

与之相关的是服务器、客户端、TCP/IP、UDP、字节流等。

Java通过Native API有类似的实现:java .net.Socket。

socket使用

//服务端
SocketService socketService = new SocketService(xxxx);
Socket socket = socketService.accept();
//客户端
Socket socket = new Socket("127.0.0.1" ,xxxx);

servlet

servlet是server applet的缩合词。是在编写Java web的以Template来表示的一个接口规范。使用HTTP协议在服务器与客户端之间通信(处理request和response)的技术。它不建立连接,属于应用层,是socket的一种应用。

与之相关的是web服务器、浏览器、jsp,asp,asp.net等。

servlet使用

@GetMapping("/me")
public Teacher me(HttpServletResponse httpServletResponse) {
	Teacher teacher = new Teacher();
	try {
	teacher = teacherService.me();
	} catch (AuthException e) {
		httpServletResponse.setStatus(HttpStatus.UNAUTHORIZED.value());
}

联系

servlet可以看做是web容器运行的一部分逻辑,执行完servlet.service方法后,由容器传递给socket类的outputstream,完成相关操作。

所有输入输出都由applicationServer 进行处理。到servlet时,已经转换成对象了。

而socket 需要自己建立连接,自己分析输入电文构造输出电文。 因此,socket可以自己做一个applicationServer,而servlet没有applicationServer不能跑。

参考
论坛
博客

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值