当前位置: 首页 > news >正文

购物网站开发的背景网上电商怎么做

购物网站开发的背景,网上电商怎么做,一个公司主体可以在多个网站做备案,辛集做网站公司1. handler方法分析 /*** TODO: 一个controller的方法是控制层的一个处理器,我们称为handler* TODO: handler需要使用RequestMapping/GetMapping系列,声明路径,在HandlerMapping中注册,供DS查找!* TODO: handler作用总结:* 1.接收请求参数(param,json,pathVariable,共享…

1. handler方法分析

/*** TODO: 一个controller的方法是控制层的一个处理器,我们称为handler* TODO: handler需要使用@RequestMapping/@GetMapping系列,声明路径,在HandlerMapping中注册,供DS查找!* TODO: handler作用总结:*       1.接收请求参数(param,json,pathVariable,共享域等) *       2.调用业务逻辑 *       3.响应前端数据(页面(不讲解模版页面跳转),json,转发和重定向等)* TODO: handler如何处理呢*       1.接收参数: handler(形参列表: 主要的作用就是用来接收参数)*       2.调用业务: { 方法体  可以向后调用业务方法 service.xx() }*       3.响应数据: return 返回结果,可以快速响应前端数据*/
@GetMapping
public Object handler(简化请求参数接收){调用业务方法返回的结果 (页面跳转,返回数据(json))return 简化响应前端数据;
}

总结:

请求数据接收,我们都是通过handler的形参列表

前端数据响应,我们都是通过handler的return关键字快速处理!


2. 页面跳转控制

https://blog.csdn.net/m0_59735420/article/details/128126514

2.1 返回模板视图页面

什么是返回模板视图页面?

当http请求被controller中的handler处理时,有时需要指定响应的页面(返回本地的)

为什么要返回模板视图页面?
项目采用了前后端分离模式 ,前后端通信通过 API 接口完成,数据格式一般使用 JSON 或 XML。

目标 : 用户访问localhost:8080/jsp/index时,返回给用户本地webapp-WEB-INF-view下的home.jsp页面.

  1. pom文件添加jsp依赖
<!-- jsp需要依赖! jstl-->
<dependency><groupId>jakarta.servlet.jsp.jstl</groupId><artifactId>jakarta.servlet.jsp.jstl-api</artifactId><version>3.0.0</version>
</dependency>
  1. 创建等会要返回的home.jsp页面
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html><head><title>Title</title></head><body><!-- 可以获取共享域的数据,动态展示! jsp== 后台vue -->${msg}</body>
</html>
  1. 新建一个MvcConfig类
//本类中要重写handlerMapping,handlerAdapter两个方法,配置一个json转化器, 通过一个注解@EnableWebMvc实现@EnableWebMvc  //json数据处理,必须使用此注解,因为他会加入json处理器
@Configuration
@ComponentScan(basePackages = "com.atguigu.controller") //TODO: 进行controller扫描//WebMvcConfigurer springMvc进行组件配置的规范,配置组件,提供各种方法! 前期可以实现
public class SpringMvcConfig implements WebMvcConfigurer {//配置一个jsp对应的视图解析器public void configureViewResolvers(ViewResolverRegistry registry) {//Resigter可以帮忙添加前后缀//稍后的handler中如果想给前端返回 /WEB-INF/views/index .jspregistry.jsp("/WEB-INF/views/",".jsp");}
}
  1. 编写jspController类
/***  跳转到提交文件页面  *  *  如果要返回jsp页面!*     1.方法返回值改成字符串类型*     2.返回逻辑视图名即可    *         <property name="prefix" value="/WEB-INF/views/"/>*            + 逻辑视图名 +*         <property name="suffix" value=".jsp"/>*///访问localhost:8080/jsp/index时,返回给用户本地webapp-WEB-INF-view下的home.jsp页面.
@GetMapping("index")
public String jumpJsp(Model model){System.out.println("FileController.jumpJsp");return "home";
}

2.2 跳转和重定向

重定向与跳转的区别:

1.请求的次数的不同 : 重定向总共请求了两次服务器;转发则是用户请求一次可能经过N个JSP页面由返回到用户浏览器中,是一次请求多次处理的过程;

2.跳转过程中链接的变化不同 : ,重定向在跳转中请求了两次服务器并且是两次不同的链接地址,在浏览器的地址栏可以看到两次是有变化的;转发在跳转过程中浏览器请求了一次服务器,服务器经过了n个JSP页面并没有改变请求的链接地址,因为用户只请求了一次,所以在整个跳转过程中链接地址是没有改变的,在浏览器的地址栏就可以看到

3.目的不同 : 重定向只是简单的让用户访问一个新的链接,而转发是服务器要得到用户的请求内容并需要进行一部分处理的,所以两者目的之不同的

  • 不管是重定向(redirect)还是转发(forward),其handler都要设置String类型
  • 语法为 return 关键字: /路径,不需要额外注解
  • @ResponseBody注解和转发/重定向是互斥的。@ResponseBody注解的类会快速返回,不走视图解析器,也不会再转发/重定向。
  • 注意:如果是项目下的资源,转发和重定向都一样都是项目下路径!都不需要添加项目根路径!
@RequestMapping("/redirect-demo")
public String redirectDemo() {// 重定向到 /demo 路径 return "redirect:/demo";
}@RequestMapping("/forward-demo")
public String forwardDemo() {// 转发到 /demo 路径return "forward:/demo";
}

3.返回JSON数据

  1. 如上章接收JSON数据一样,涉及JSON必须要添加依赖以及在config类中配置JSON转换器(@EnableWebMvc)。
<dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databind</artifactId><version>2.15.0</version>
</dependency>
  1. 如上章接收JSON数据一样(@RequestBody),使用@ResponseBody注解返回JSON数据,该注解的作用在于将返回的对象序列化为 JSON 或 XML 格式的数据,并发送给客户端。
  2. 需注意的是ResponseBody不经过视图解析器,且与转发/重定向互斥。
@GetMapping("/accounts/{id}")
@ResponseBody
public Object handle() {// ...return obj;
}

测试方法:

@Controller
@RequestMapping(value = "/user/detail", method = RequestMethod.POST)
@ResponseBody
public User getUser(@RequestBody User userParam) {System.out.println("userParam = " + userParam);User user = new User();user.setAge(18);user.setName("John");//返回的对象,会使用jackson的序列化工具,转成json返回给前端!return user;
}

合并两条注解:
@Controller+@ResponseBody = @RestController

3.返回静态资源

什么是静态资源?
资源本身已经是可以直接拿到浏览器上使用的程度了,不需要在服务器端做任何运算、处理。典型的静态资源包括:
- 纯HTML文件/图片
- CSS文件
- JavaScript文件

如何让外部能够访问静态资源?

  • DispatcherServlet 的 url-pattern 配置的是“/”,表示整个 Web 应用范围内所有请求都由 SpringMVC 来处理
  • 而对 SpringMVC 来说,若想某个url被后台处理,必须将这个urll用 @RequestMapping 绑定到某个handler上,才能找到处理请求的方法,否则handlermapping(秘书)无法知道找哪个handler(打工人)处理这个链接。
  • 因此,思路是显然的,那就是想办法让系统知道,如果请求的是url是xxx/xxx/car.jpg , 那就从静态资源中直接提取而不是找handler(静态资源不可能存进handler里)。
  1. 准备好静态资源并编译:
    在这里插入图片描述
    在这里插入图片描述2. 在config类中开启静态资源处理:
@EnableWebMvc  //json数据处理,必须使用此注解,因为他会加入json处理器
@Configuration
@ComponentScan(basePackages = "com.sunsplanter.controller") //
//WebMvcConfigurer springMvc进行组件配置的规范,配置组件,提供各种方法! 
public class SpringMvcConfig implements WebMvcConfigurer {//开启静态资源处理//处理的顺序是DispatcherServlet --> handlerMapping -->没找到就去找静态资源//平时第二步走完就结束,该方法多走一步为了找到静态资源@Overridepublic void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) {configurer.enable();}
}

访问localhost:8080/images/car.jpg , 可以正常显示.

http://www.wooajung.com/news/31615.html

相关文章:

  • 商城网站建设找谁做seo专业培训学费多少钱
  • 企业建设网站公司排名整合营销公司排名
  • 做网站英文微信小程序建站
  • 做app还要做网站么西安网页设计
  • 做矢量图的网站佛山做网络优化的公司
  • 网络优化及服务的工作任务seo在线培训课程
  • 微信公众号设计方案长春seo优化企业网络跃升
  • 一键优化助手品牌seo是什么意思
  • 网站制作怎么学去哪学seo项目优化案例分析文档
  • 资阳公司网站建设百度软文推广怎么做
  • 域名购买查询seo范畴
  • 哪里网站建设联系友情链接出售网
  • 宿迁网站建设公司什么是网络推广
  • 贵阳网站建设设计全国新冠疫情最新情况
  • 如何做网站广告新东方烹饪学校
  • 网站建设肆金手指排名7怎样才能在百度上面做广告宣传
  • 做网站不好做市场推广方案和思路
  • 招聘网站做精准 置顶百度搜索引擎优化的推广计划
  • 深圳做网站做app沈阳网络营销推广的公司
  • 宿迁怎样建设网站乐天seo培训中心
  • 音乐网页制作素材zac博客seo
  • 儿童可以做的游戏视频网站外贸网站seo教程
  • 提供定制型网站建设今日nba数据帝
  • wordpress整合百度站内搜索营销策划方案怎么写?
  • 中天建设集团有限公司广州分公司正版搜索引擎优化
  • 网站标题关键词用什么隔开公司宣传软文
  • 做网站需要数据库吗百度app安装免费下载
  • 网站开发最好用什么语言汕头seo不错
  • wordpress简单工作室博客成都关键词优化报价
  • 誉重网站建设公司百度热搜关键词排名优化