初识Servlet --d1

JavaSE部分知识
JavaEE的封装----模拟简易的Tomcat容器(资源的管理 Servlet)

需要的技术
1.语法结构  if  for  数组。。。
2.面向对象编程思想---思想
	类  对象
	属性  方法  构造
3.工具类String
	类  "abc"字符串对象
	字符串操作  拆分 截取
4.集合ArrayList  HashMap
	数据结构
	性能特点
5.I/O	读/写	Tomcat容器  存储资源  发送请求给这个容器 帮我们找/管理资源

6.基于B/S模型项目
	C/S	Client/Server	客户端/服务器
		想要使用QQ跟大家聊天
		1.官网下载一个QQ安装程序
		2.当前本地电脑端运行安装程序---> C://program files//QQ
		3.与其他客户端交互  需要一个服务端的支持
		4.背后需要互联网的支持(HTTP协议 Socket I/O String Swing)
		安装程序经常更新---->
			维护不好
			开发周期
			容易产生问题(本地电脑 误操作)
			页面比较麻烦
			客户端不同的项目不通用---->>>>每一个系统的客户端都需要重新开发一遍
	B/S	Browser/Server	浏览器/服务器
		将客户端的展示变得统一起来
		规则---->  一个统一的软件来充当展示"页面"  内容遵循统一的规则
		浏览器  只识别一种语言HTML


Socket套接字-----网络连接(桥梁)
I/O流------数据流动
通过自己设计的服务读取一个请求

写一个服务端	服务端的管理 + 服务端里面存储的资源

ServerSocket server = new ServerSocket(9999);//0-65536范围   4000以后
Socket socket = server.accept();//接受
		//System.out.println("你连我干啥呀???");
		//System.out.println(socket);
        //socket可以理解为是一个连接
        //拿到连接以后  目的是为了读取浏览器发送的请求   遵循的是HTTP协议 说白了就是一个字符串

        //想要读取浏览器发送的请求 需要Input/Output
        //  读取I  通过socket获取     读取/写入的单位   字节  字符
        InputStream is = socket.getInputStream();
        //  读取中文不太方便-----字节流 转化成字符流
        InputStreamReader isr = new InputStreamReader(is);//读取中文可以啦
        //  读取是HTTP协议信息  是字符串  一行一行的
        //  为了读取一行一行更加方便  再进行一个包装  BufferedReader类下有一个方法 readLine
        BufferedReader reader = new BufferedReader(isr);
        //上述三行代码的背后体现出一种设计模式----->装饰者模式  递归思想    23种

        String value = reader.readLine();
        while(value!=null && !"".equals(value)) {
            System.out.println(value);
            value = reader.readLine();
        }

        //分析请求协议头种的数据信息
        //数据信息去找资源-----Servlet普通的Java类  其实有好多规则  继承 重写 参数。。。
        //Servlet类(对象--方法--执行--结果)   对象底层的管理机制----反射
        //结果拿到  给浏览器响应回去 String-->HTML形式的规则
        //      浏览器那一边做的事情
        //      浏览器读取响应信息数据  String-->HTML
        //      浏览器内核去解析这个String
        //      相应的位置进行展示(图片 按钮 文字 表格)
上一篇:模板渲染


下一篇:Codeforces Round #748 (Div. 3) (D1 - E)