环境与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,模拟浏览器
- Browser 在控制台中输入url(只需要输入
ip:port/资源名?key=value&key=value...
) - Browser
- Browser
- Browser
- Browser
- Browser
- Browser
模拟服务器的响应过程
- Server,模拟服务器
- Server
- Server
- Server
- Server 收到浏览器的请求后,调用ServerHandler类(1.读取消息 2…解析 3.找人做事 4.响应回去)
- 读取资源名和参数信息
- 解析字符串,并生成HttpServletRequest来存放资源和参数信息
- 若是动态资源: 调用ServletController,参考web.properties配置文件,找到路径对应的controller类(->service->dao->…),将要返回的资源存放在HttpServletResponse中,然后将HttpServletResponse中的内容返回给浏览器
- 若是静态资源: 就直接将文件中的内容返回给浏览器
效果展示
展示的效果非常简陋,仅仅是为了模拟浏览器与服务器之间请求与响应的过程
- 可以访问服务器的主页(在控制台中显示的信息暂且当作主页)
- 可以进行登录
- 先启动服务器:
====启动服务器====
- 然后启动浏览器:
URL:
- 用户输入URL后,服务器返回主页,其中附带form表单
URL:localhost:8888/index
***********************
********银行系统********
***********************
请输入账号
- 用户输入账号与密码,传给服务器,进行登录操作
URL:localhost:8888/index
***********************
********银行系统********
***********************
请输入账号
zgh
请输入密码
666
- 服务器处理返回的表单信息
====启动服务器====
zgh---666
完整代码获取
- 代码:github