环境与MVC分层架构思想

  • 编程语言:Java 14.0.1
  • IDE:intelliJ IDEA 2020.1.2

.

.

.

V:

View视图层

String html jsp

C:

Controller控制层

Servlet 控制的是相应信息

M:

Model模型层

数据模型(数据处理、数据读写、数据存储)

.

Service数据处理

.

Dao数据读写

里面的代码都是JDBC+SQL+domain

.

domain数据存储

DB

数据库

模拟请求与响应的过程,为了突出逻辑,主要描述的是C层,其余层次就淡化处理了

仅涉及JavaSE的知识

首先使用IDE创建了两个Project,分别是 Browser 与 Server,分别模拟浏览器与服务器

模拟浏览器的请求过程

  • Browser,模拟浏览器
  1. Browser 在控制台中输入url(只需要输入ip:port/资源名?key=value&key=value...
  2. Browser
  3. Browser
  4. Browser
  5. Browser
  6. Browser
  7. Browser

模拟服务器的响应过程

  • Server,模拟服务器
  • Server
  • Server
  • Server
  • Server 收到浏览器的请求后,调用ServerHandler类(1.读取消息 2…解析 3.找人做事 4.响应回去)
  1. 读取资源名和参数信息
  2. 解析字符串,并生成HttpServletRequest来存放资源和参数信息
  3. 若是动态资源: 调用ServletController,参考web.properties配置文件,找到路径对应的controller类(->service->dao->…),将要返回的资源存放在HttpServletResponse中,然后将HttpServletResponse中的内容返回给浏览器
  4. 若是静态资源: 就直接将文件中的内容返回给浏览器

java 模拟浏览器 获取cookie java 模拟浏览器请求_java

效果展示

展示的效果非常简陋,仅仅是为了模拟浏览器与服务器之间请求与响应的过程

  • 可以访问服务器的主页(在控制台中显示的信息暂且当作主页)
  • 可以进行登录
  1. 先启动服务器:
====启动服务器====
  1. 然后启动浏览器:
URL:
  1. 用户输入URL后,服务器返回主页,其中附带form表单
URL:localhost:8888/index
***********************
********银行系统********
***********************

请输入账号
  1. 用户输入账号与密码,传给服务器,进行登录操作
URL:localhost:8888/index
***********************
********银行系统********
***********************

请输入账号
zgh

请输入密码
666
  1. 服务器处理返回的表单信息
====启动服务器====
zgh---666

完整代码获取