西木-学习篇之黑马旅游网项目bug解决及知识摘要

一、黑马旅游网项目知识摘要

1.博客陈述篇之web项目吐槽

  • 终于到了自己做web项目的时候啦,都会遇到哪些问题呢

正如大家所说的,看似不难理解的项目代码,自己一步步去实现的时候仍然会有许多突发的问题,除了需要对项目整体结构和功能有系统化的理解,更多的是程序开发过程中对细心程度和知识系统储备(经验吧这就是。。)的要求。

2.博客技术篇之web项目问题阐述及处理

  1. 问题一: ajax异步请求所出现的无法从后台其他页面获取session对象的问题
  2. 问题二:angular-1.7.9.min.js文件未配置出现的页面加载问题

话不多说上解决方案!
Solution 1:
问题一中我们针对旅游网的login.html登录页面输入数据库中存在的用户名和密码,点击登录。
在这里插入图片描述但是发现个问题,本来我们希望将对应的用户名姓名显示在表头,即:欢迎,xxx;通过验证好的用户信息返回后存入session中进行响应。但是发现并没有成功,而是打开浏览器控制台发现如下错误。
在这里插入图片描述在这里插入图片描述这时候我们检查后台的service和Dao代码都没有错误,经过断点调试我们发现后台的查询操作和回显反值都没有问题,但是问题出在哪里了呢?这时候我们来看前台的ajax请求页面
在这里插入图片描述对data内容进行跟踪,发现回调函数中data数据为null;
后台根据用户名和密码请求的user信息却是正常的
这时我们可以锁定问题出现在对异步请求处理的servlet层
在这里插入图片描述
我们设计中通过info的flag属性给前台响应验证信息,但是忘记了这个时候我们仍需要将后台查询的user数据包装载到session域中,因为我们前台还需要使用它的信息,但是如果只验证不存储,那么我们无法在输入用户名和密码后得到我们后续的自动响应信息。

至此,问题就解决完了。

这里我想强调一个问题:
就是ajax异步传输的模式中我们更需要注意对session的理解,它是异步传输中的第三方媒介,由于html页面无法直接通过动态获取比如通过js的el表达式等直接对数据进行操作,这时session的临时媒介能力就派上大用场了,我们可以将后台响应的数据返回并保存在其中,需要的时候获取出来,并且再不需要的时候费除掉。或者在下一次服务器连接后就自动消失了,有点类似于缓存一样的效果。
在这里插入图片描述

Solution 2:
问题二中我们针对旅游网的header.html页面加载时发现web控制台报错angular-1.7.9.min.js:80错误。
这也是我们js包中没有引入造成的
在这里插入图片描述
很简单我们可以自己创建一个angular.js文件来弥补
在这里插入图片描述
头文件名自行命名,内容可以百度去官网查看源码copy过来就好啦。

至此,问题二解决。

我们在做项目时候的bug其实都是对技术经验的挑战,出的问题多了在前期是个好事情。希望我们都再接再厉为了更好的技术沉淀,更美好的生活出发。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>cn.itcast.parent</groupId> <artifactId>itcast-parent</artifactId> <version>0.0.1-SNAPSHOT</version> </parent> <groupId>cn.itcast</groupId> <artifactId>travel</artifactId> <version>1.0.0-SNAPSHOT</version> <packaging>war</packaging> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-test</artifactId> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-aspects</artifactId> </dependency> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> </dependency> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis-spring</artifactId> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> </dependency> <!-- 连接池 --> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> </dependency> <!-- Jackson Json处理工具包 --> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> </dependency> <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>2.9.0</version> </dependency> <dependency> <groupId>javax.mail</groupId> <artifactId>mail</artifactId> <version>1.4.7</version> </dependency> <dependency> <groupId>jstl</groupId> <artifactId>jstl</artifactId> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>jsp-api</artifactId> </dependency> </dependencies> <build> <plugins> <!-- 配置Tomcat插件 --> <plugin> <groupId>org.apache.tomcat.maven</groupId> <artifactId>tomcat7-maven-plugin</artifactId> <configuration> <port>8080</port> <path>/</path> </configuration> </plugin> </plugins> </build> </project>
回答: 这个错误是由于组件名称为"index",而Vue的命名规范要求组件名称应该是多个单词组成的。\[1\]解决这个问题的方法有几种。第一种方法是直接将组件名称改为多个单词组成的名称。\[2\]第二种方法是关闭检验,不再对组件名称进行规则校验。\[3\]第三种方法是关闭命名规则校验,不再对组件名称的命名规则进行校验。第四种方法是按照官方的建议进行设置。具体的解决方案可以根据你的实际情况选择。 #### 引用[.reference_title] - *1* [error Component name “index“ should always be multi-word vue/multi-word-component-names 的解决办法](https://blog.csdn.net/weixin_43405300/article/details/126456825)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [【Vue】在vue中命名的时候会遇到 component name “index“ should always be multi-word的解决方案](https://blog.csdn.net/Trees__/article/details/126190961)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值