前言
第十四日学习了最基础的JS语法,但是我觉得JS单单那一日所学的知识不太足够我去总结归纳,因为太基础了感觉没有学到底层的东西。第十五日学习了配置使用Tomcat,没有太多值得归纳的东西,因为配置的过程网上实在是太多了,所以就直接总结第十六日所学的相关内容好了。(其实是前两天的东西懒得写咳咳) 然后是第十七天,第十七天由于要听美国的学姐来传道授业,所以常规集训调到了晚上,所以我决定把之前所有学过的都缝合到一起,也是为了方便我完成最后的Web练习,于是,意想不到的bugs出现了。
Servlet
Servlet 是运行在 Web 服务器或应用服务器上的java程序,是Java EE规范之一(一种接口)。
它是作为来自 Web 浏览器或其他 HTTP 客户端的请求和 HTTP 服务器上的数据库或应用程序之间的中间层,即接收客户端发送过来的请求并且响应数据给客户端。
使用 Servlet,您可以收集来自网页表单的用户输入,呈现来自数据库或者其他源的记录,还可以动态创建网页。
这节课学了Servlets,以上就是对它的定义,接下来是我今天学习它的一些直观感受和理解了。
学习过程
导包
今天集训的时候学姐的操作是直接把包导入文件夹,说右键jar包再进行设置,但是我自己实操的时候,发现右键没有反应,所以直接从setting里面进行了导入。
创建一个Java文件
通常我的java文件都是直接放在src目录下的,但是学姐说可能会报错,就去src目录下创建了一个文件夹,再去创建java文件,算是一点跟以前不一样的地方,然后就是再写继承的时候,Http的H没大写导致没有跳出提示框从而导致我以为我jar包导包失败了,检查了好久才发现是大小写的问题。
doGet和doPost方法
之前我自习HTML的时候曾经看到有一篇博客讲get和post的,说,前者传输数据是不加密的,而后者是加密的。 由于不知道是不是一个东西,因为两者都有get和post,所以我又回头复习了一下HTML里面的这两种传输方式。 Post传输时action地址如果不能创建链接,就会显示不能处理Post请求,而get就会没有任何跳转而会在原先url加上"?#"两个字符。 我们可以先在< body >部分加上两个text< input >标签,一个为password一个为username,和一个submit< input >登录。我们在name填写abc,在password填写123456,点击subm按钮,此时我们的method如果是get,url就会显示url?password=*** ,username= ***#而Post则会仍然显示不能处理Post请求,即get会将我们传输的内容以明文的方式表现在地址栏中, 我们如果使用Post就会调用doPost方法,如果使用Get就会调用doGet方法
Bugs
500?
这里遇到了小问题,我的Tomcat是1.0版本的,和学姐的jar包不一样,然后我大概从建立项目文件夹开始一直到测试Servlet配置是否成功这中间大概反复了十来次…一直以为是自己打错了,太悲惨了,敲了十几遍…PS:这个是725日产生的bug
Gitee
这里也记录一下别的bug吧,因为今天是系统的复习。在我复习到把本地的文件上传到gitee时,出现了问题,然后找的是坐在身后的金昊霖学长,其实我还是没有完全搞懂哪里出了问题,学长发给我了一篇学术论文,是讲分支的,太深奥了暂时挂起---->Git分支管理实践,然后学长用了一种跟之前讲课的学长不一样的方法上传到了gitee。两种方法不大一样,一种是先创建仓库再创建本地代码,再把本地代码传过去,另一种是先本地写好代码,直接上传,自动生成仓库不过开源协议要自己配。
404?
这个bug是我目前为止最整人心态的bug,出现在我复习到最后的时候,由于我7.25手打了十几遍Servlet,所以我非常确定是之前学的东西哪里没整明白,最后还是没整明白,然后学姐采用了重新创建大法解决了Serlet的问题。结果我手贱又去配置了maven,然后又404了…不过这恰好说明了我这个bug出在maven依赖上,然后我逐一排查,发现了两个问题,一个是我在论坛里搜出来的依赖是Tomcat10版本以下的依赖,自动导入的jar包和我自己导入的Tomcat的jar包不匹配(具体看500),其次是lombok依赖有问题,在我修正了这两个依赖以后就不404了。
jsp的学习
我一直想,前端和后端是咋连起来的,因为好像两种语言都不大一样。就感觉像之前,学完Mysql,我觉得自己行了,数据库和IDEA连起来了,然后第二天学了HTML又不行了,前端后端连不起来。今天的jsp学习让我看到了一个文件原来是真的可以写两种不一样的语言的,这就使得我的Java写的一些东西能够和HTML在一个文件里还能正常运行。
- <% 代码片段 %> 一般定义变量和编写语句。
- <%! 声明代码 %> 可以声明常量,编写方法,编写类
- <%= 表达式 %> 表达式被转化成String,然后插入到表达式出现的地方
这波没出bug,好耶!!!
|