Web应用开发总结

目录

一、Web应用开发介绍

1.简介

2.作用

3.影响力

二、Web知识整合

1.应用分层

2.web自定义异常处理

3.项目业务对象建模

4.WebMvcConfigurer配置

1.WebMvcConfigurer

2.webMvcConfigurer接口

3.addCorsMappings

4.addInterceptors拦截器

5.addViewControllers

5.mybatis与mybatis-plus实现以及它们之间的区别


一、Web应用开发介绍

1.简介

Web应用开发是指利用前端(HTML、CSS、JavaScript)后端(服务器端编程语言、数据库)技术,构建在线服务或功能的过程。包括前端开发、后端开发、数据库管理、安全性、测试和部署等环节。

2.作用

Web应用开发的作用主要体现在以下几个方面:

  1. 提供在线服务:通过Web应用开发,可以构建各种类型的在线服务,包括电子商务平台、社交网络、内容管理系统等,为用户提供便利的在线功能和服务。

  2. 增强信息交流:Web应用开发能够促进信息的交流和共享,帮助用户获取所需的信息,并促进用户之间的交流和互动。

  3. 提升工作效率:许多企业和组织通过Web应用开发构建自己的内部管理系统或办公工具,以提升工作效率和管理水平。

  4. 拓展商业渠道:Web应用开发可以帮助企业拓展在线销售渠道,提升品牌知名度,增加营收来源。

综上所述,Web应用开发的作用在于为用户提供在线服务、增强信息交流、提升工作效率和拓展商业渠道。

3.影响力

Web应用开发的应用场景非常广泛,在电子商务、社交网络、在线教育、内容管理系统和在线游戏等领域都具有重要的影响力,推动了社会的互联互通、经济的发展创新、教育的变革、政府服务的优化以及社交和娱乐体验的提升。

二、Web知识整合

1.应用分层

开放API层:可直接封装Service接口暴露成RPC接口;通过Web封装成http接口;网关控制层等。

终端显示层:隔断模板渲染显示层。

Web层:主要对访问控制进行转发,各类基本参数校验,或不服用的业务简单处理。

Service层:具体的业务逻辑服务。

DAO层:数据访问层,与底层MySQL、SQL Server、Mango DB等进行数据交互。

外部数据接口:外部(应用)数据存储服务提供的接口(如:数据迁移应用场景)。

2.web自定义异常处理

Web应用程序在运行过程中,可能会出现各种异常情况,如输入错误、系统故障等。为了提高Web应用程序的健壮性和可靠性,我们需要通过自定义异常处理机制来捕获和处理这些异常情况。以下是Web自定义异常处理的一般步骤:

1.定义异常类通过继承Exception或RuntimeException类,定义应用程序需要捕获和处理的异常类。

例如,在Java Web应用程序中,可以通过创建一个自定义的异常类来处理数据输入错误:

public class DataInputException extends Exception {  
    public DataInputException(String message) {  
        super(message);  
    }  
} 

2.捕获异常通过try-catch语句块和throw关键字,捕获和抛出异常。当Web应用程序出现异常时,系统会自动调用异常处理机制,执行相应的异常处理逻辑。
例如,在Java Web应用程序中,可以通过以下代码实现捕获和抛出DataInputException异常:

try {
    // 数据输入验证逻辑
    if (inputData == null) {
        throw new DataInputException("输入数据不能为空!");
    }
} catch (DataInputException ex) {
    // 异常处理逻辑
    System.out.println(ex.getMessage());
}

3.定义异常处理器通过实现ExceptionHandler接口,定义Web应用程序的异常处理器。异常处理器负责捕获和处理Web应用程序的所有异常情况,并返回相应的错误信息。
例如,在Java Web应用程序中,可以通过以下代码实现异常处理器:

public class MyExceptionHandler implements ExceptionHandler {
    @Override
    public void handle(Exception ex, HttpServletRequest request, HttpServletResponse response) throws IOException {
        // 异常处理逻辑
        response.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR, "服务器内部错误: " + ex.getMessage());
    }
}


 

4.配置异常处理器:将定义好的异常处理器配置到Web应用程序中,以便在出现异常情况时能够正确地执行异常处理逻辑。
例如,在Java Web应用程序中,可以通过在web.xml文件中进行异常处理器的配置:

<error-page>
    <exception-type>java.lang.Exception</exception-type>
    <location>/errorhandler</location>
</error-page>


 

其中,location节点指定了我们定义的异常处理器的路径。

综上所述,通过自定义异常处理机制,我们可以捕获和处理Web应用程序的各种异常情况,提高其健壮性和可靠性。

3.项目业务对象建模

在Web应用项目开发中,项目业务对象建模是非常重要的一步。业务对象是指Web应用程序需要处理的具有独特业务功能和特性的实体对象,如用户、订单、商品等。在进行业务对象建模时,我们需要确定业务对象的名称、属性和方法,并将其转化为实际的代码实现。以下是一般的业务对象建模流程:

  1. 确定业务对象根据项目需求和业务规则,确定需要建模的业务对象。例如,在一个电商平台中,需要建模的业务对象包括用户、商品、订单等。

  2. 列出业务对象的属性对于每个业务对象,列出其具有的特征和属性。例如,在用户业务对象中,可能包括用户ID、用户名、密码、邮件地址等属性。

  3. 设计业务对象的方法根据业务需求和业务规则,设计业务对象需要实现的方法。例如,在用户业务对象中,需要实现登录、注册、修改密码等方法。

  4. 实现业务对象根据以上的定义,实现业务对象的相关代码。例如,在Java Web应用程序中,可以通过创建Java类来实现业务对象。

例子:以下是Java Web应用程序中用户业务对象的简单实现:

public class User {
    private int id;
    private String username;
    private String password;
    private String email;
    
    public User(int id, String username, String password, String email) {
        this.id = id;
        this.username = username;
        this.password = password;
        this.email = email;
    }
    
    // getter and setter methods for all attributes
    
    public boolean login(String username, String password) {
        // login logic
    }
    
    public boolean register(String username, String password, String email) {
        // register logic
    }
    
    public boolean updatePassword(String newPassword) {
        // update password logic
    }
}

在上面的例子中,我们定义了一个User类作为用户业务对象,并实现了登录、注册和修改密码等方法。

综上所述,通过业务对象建模,我们可以更好地理解Web应用程序的业务需求和规则,并将其转化为具体的代码实现。

4.WebMvcConfigurer配置

1.WebMvcConfigurer

webMvcConfigurer配置类,Spring内部的配置方式,用JavaBean形式替代xml配置文件针对框架进行个性定制,web配置均可以在此类中完成。
webMvcConfigurer可以自定义:
(1)Handler(处理器)
(2)Interceptor(拦截器)
(3)viewResolver (视图解析器)
(4)MessageConverter (消息转换器)

2.webMvcConfigurer接口

webMvcConfigurer 内置实现:
(1)addCorsMapping:跨域
(2)addInterceptors:拦截器
(3)addViewControllers:页面跳转
(4)addResourceHandlers:静态资源处理器
(5)configureContentNegotiation:springboot 内容协商 (通过该机制,为同一URI指向的资源提供不同的展现方式)
(6)configureDefaultServletHandling:默认静态资源吹器
(7)configureMessageConverters: 消息转换器
(8)configureViewResolvers: 视图解析器

3.addCorsMappings

应用场景

配置“全局”跨源请求处理。
配置的CORS映射适用于带注解的控制器、功能终结点和静态资源带注释的控制器可以通过@CrossOrigin进一步声明更细粒度的配置这种情况下,此处声明的“全局”CORS配置与在控制器方法上定义的本地CORS配置相结合。

应用

addCorsMappings(CorsRegistry registry)

@Override
public void addCorsMappings(CorsRegistry registry) {
  super.addCorsMappings(registry);
  registry.addMapping("/cors/**")
  .allowedHeaders("*")
  .a11owedMethods("POST","GET")
  .a1lowedOrigins("*");
}

注意

(1)当使用自定义拦截器时此种配置会失效。
(2)因为请求时先进入拦截器,而不是进入Mapping映射,所以返回的头信息有可能不包含配置的跨域信息,如果出现此种情况浏览器将报跨域异常。

4.addInterceptors拦截器

应用场景

(1)用户登录状态拦截
(2)日志拦截

用于预处理和后处理控制器方法调用和资源处理程序请求

可以注册拦截器以应用于所有请求或限制拦截器到URL模式的子集。

应用

addInterceptors(InterceptorRegistry registry)

@Override
public void addInterceptors(InterceptorRegistry registry) {
  super.addInterceptors(registry);
  registry.addInterceptor(new TestInterceptor())
        .addpathPatterns("/**") 
        .excludePathPatterns("/blog/register","/bog/login");
}

5.addViewControllers

(1)配置了响应状态代码和/或视图的简单自动控制器

(2)这在不需要自定义控制器逻辑的情况下很有用

@override
public void addViewControllers(ViewControllerRegistry registry) {
  registry.addViewController("/home").SetViewName("index"); 
}

5.mybatis与mybatis-plus实现以及它们之间的区别

MyBatis 和 MyBatis-Plus 都是用于 Java 语言的持久层框架,它们之间有一些区别和特点。

  1. MyBatis:

    • MyBatis 是一个轻量级的持久层框架,它提供了灵活的 SQL 映射配置,允许开发人员编写原生 SQL 查询并将其映射到 Java 对象。
    • MyBatis 需要开发者手动编写 SQL 语句,以及对应的映射文件 (XML 文件) 或注解,来实现数据操作和对象关系映射。
    • MyBatis 的优势在于灵活性高,能够直接控制 SQL,适用于对 SQL 操作有较高要求的项目,但需要开发者对 SQL 有一定的掌握和理解。
  2. MyBatis-Plus:

    • MyBatis-Plus 是在 MyBatis 的基础上进行了扩展和增强,提供了更多便捷的开发功能。
    • MyBatis-Plus 提供了许多预定义的 CRUD 方法,简化了对数据库的操作,减少了开发者的工作量,提高了开发效率。
    • MyBatis-Plus 还提供了诸如分页、条件构造器、代码生成器等实用的功能,使得开发更加便捷。

主要区别:

  • MyBatis 需要手动编写 SQL 和对应的映射文件,更加灵活但需要更多的开发工作。
  • MyBatis-Plus 提供了预定义的方法和便捷的功能,简化了开发工作,但可能会牺牲一定的灵活性。

总的来说,MyBatis-Plus 是在 MyBatis 基础上的增强和扩展,提供了更多便捷的功能和开发工具,使得开发更加高效。选择使用哪个取决于项目需求和团队偏好,如果对 SQL 控制要求较高且愿意付出更多的开发工作,可以选择 MyBatis;如果希望简化开发工作,并且可以接受一定程度的约束,那么可以选择 MyBatis-Plus。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值