栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

浅谈Web发展

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

浅谈Web发展

一个SQL boy开始搞前后端开发了?

静态Web

HTML :网络传输的全都是html,展示的全部内容
CSS:配合HTML ,做静态的 多样化 规范化 展示
JavaScript:页面动态响应方面的展示,运行在前端

一. Socket

Socket相当于TCP UDP提供给外部的访问接口,客户端 & 服务端 都可以利用Socket来操作 TCP UDP 协议的通信,。
最终全部前后端的传输都需要走Socket

二 . Servlet

web server 本质上是一个 Http(TCP)响应的 .html

处理TCP连接,解析HTTP协议这些底层工作统统扔给现成的Web服务器去做,我们只需要把自己的应用程序跑在Web服务器上。为了实现这一目的,JavaEE提供了Servlet API

把这种程序打成war(Java Web Application Archive)包,然后交给支持Servlet API的Web服务器

Servlet相当于服务器中的控制器

三.JSP

JSP : Java Server Pages

JSP在执行前,会被编译成一个Servlet

3.2 session

用来控制用户的认证,不用反复登陆 等等

3.3 Model1

https://www.javatpoint.com/model-1-and-model-2-mvc-architecture

在JSP中有View 和 逻辑处理功能,可以再次解耦合,于是Model2

3.4 Model2

JSP 仅仅 View,这也就是MVC模式

四. MVC 4.1 MVC 1.0

Servlet 适合编写Java 实现逻辑
JSP适合编写HTML

MVC : Model View Controller

                   ┌───────────────────────┐
             ┌────>│Controller: UserServlet│
             │     └───────────────────────┘
             │                 │
┌───────┐    │           ┌─────┴─────┐
│Browser│────┘           │Model: User│
│       │<───┐           └─────┬─────┘
└───────┘    │                 │
             │                 ▼
             │     ┌───────────────────────┐
             └─────│    View: user.jsp     │
                   └───────────────────────┘

HttpServletRequest
  .getRequestDispatcher("/WEB-INF/user.jsp")
  .forward(req, resp);

origin MVC 的缺点:

  • JSP还是有些麻烦了,可以用前端框架
  • Controller业务逻辑必须extend Servlet
  • Servlet 提供的接口偏底层,模版引擎替代比较好

这样将会产生很多Servlet

前端会给众多Servelt发请求

4.2 MVC 2.0

前端只能给DispatcherServlet 发请求,再由DispatcherServlet 发请求给其他Servlet
这里其他的Servlet改名为Controller

3.2 advanced MVC
   HTTP Request    ┌─────────────────┐
──────────────────>│DispatcherServlet│
                   └─────────────────┘
                            │
               ┌────────────┼────────────┐
               ▼            ▼            ▼
         ┌───────────┐┌───────────┐┌───────────┐
         │Controller1││Controller2││Controller3│
         └───────────┘└───────────┘└───────────┘
               │            │            │
               └────────────┼────────────┘
                            ▼
   HTTP Response ┌────────────────────┐
<────────────────│render(ModelAndView)│
                 └────────────────────┘

DispatcherServlet 功能分为:

  1. 根据请求的url ,判定调用哪一个Controller
URL: http://localhost:8080/pro15/hello.do
ServletPath : /hello.do
/hello.do -> hello
hello -> HelloController

具体实现:
String servletPath = request.getServletPath();
servletPath = servletPath.substring(1);
int lastDotIndex = servletPath.lastIndexOf(".do");
servletPath = servletPath.substring(0,lastDotIndex);

Object contrallerBeanObj = beanMap.get(servletPath);

  1. 解析加载的配置文件applocationContent.xml 获取servletPath对应的classPath
  2. 根据classPath 反射调用invoke ,得到对应的bean -> View
4.3 IOC

IOC:Inversion of Control

bean的创建 & 销毁 ,完全交给BeanFactory来控制
在Contraller中需要调用bean 就通过反射的方式获取

DI

DI:Dependency Injection
各个bean之间存在依赖关系,简单可以通过DI的方式在.xml文件中配置好


    
    
        
    
    
        
    

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/886173.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号