JavaWeb学习总结

心路历程

刚刚学完了JaveWeb的课程,咋听起来让人觉得望而生畏,但是细来一想,无非几个标签而已,语法并没有多困难,核心还是在Java基础概念的掌握。
一开始学习前端的时候,觉得就是html+css+javascript的时候,觉得页面样式感觉挺一般的,没有看到的那些网站那样炫酷,但代码算是简而易懂。到了前端课程的后面学习了jQuery,做出来的网页效果可以勉强能看了。
现在到了JAVA阶段,就真正是从前端正式转入后端,才开始有种后端开发的感觉。刚刚学会了如何完成一个简单的mvc架构工程,也许没有那么深奥的举一反三。

遇到的问题

改bug

要说web项目最麻烦的地方就在于改bug,总是出一些莫名其妙的bug,出一个可以改上老半天。

  • 最开始遇到的是错误:404
    要说bug,404这个bug给我的影响是最深刻的,它也是日常生活中绕不开的bug(想一想要去一些不存在的网站)。404给我的感受就是在于整个web项目从开始、运行到结束的资源释放不能有一点点马虎。在编译器判断逻辑代码没有错误的时候,可能会应为启动路径的错误而导致网页打不开;我当时由于我的Tomcat配置错了,导致我开localhost:8080 都在飘404.
    JavaWeb学习总结_第1张图片

    上图就是把项目路径换成“/”

  • 最让人头大的错误:500
    这个错误就有太多太多了,每一个问题都可以写一篇长长的文章,我就说说我这段时间遇到的问题吧。最开始遇到的问题是我的MySQL数据库的密码不匹配,我忘记我的数据库还没有密码,却在Druid的配置文件里面设置了密码,当时也是找了好半天。在遇到500的问题是因为我把jbar的文件放错位置了,本应该放在WEB-INF文件夹下的lib文件夹里面的,因为我的一时粗心,放在了WEB下了,导致运行时,报错说找不到类,去百度还说是因为servlet自带的类和我配置的jar包冲突了,当时也是把我吓得不轻。当然我还干过一些蠢事,比如在一个Servlet里写了跳转函数,然后又在XML里面又写了一个跳转页面的代码

在这里插入图片描述
在这里插入图片描述

对JavaWeb的理解

Web发展史

WEB发展的两个阶段:静态、动态

静态WEB

*htm、*html,这些是网页的后缀,如果现在在一个服务器上直接读取这些内容,那么意味着是把这些网页的内容通过网络服务器展现给用户。
在静态WEB程序中,客户端使用浏览器(IE、Chrome等)经过网络连接到Web服务器上,使用HTTP协议发起一个请求(Request),告诉服务器我现在需要得到哪个页面,所有的请求交给WEB服务器,之后Web服务器根据用户的需要,取出对应的内容。之后通过WEB服务器返回给客户端,客户端接收到内容之后经过浏览器渲染解析,得到显示的效果。

静态WEB中存在以下几个缺点:

  • Web页面中的内容无法动态更新,所有的用户每时每刻看见的内容和最终效果都是一样的。当然我们可以加入JavaScript来添加一些特效,但对于服务器而言是没有任何变化的;
  • 静态WEB无法连接数据库,无法实现和用户的交互。使用数据库保存数据是现在大多数系统的选择,对于数据的增删改查,我们可以使用数据库来进行操作,;

动态WEB

所谓的动态不是指页面会动,主要的特性的是:Web页面因为人的操作而变的。可以看出动态WEB具有交互性,WEB的页面的内容可以动态更新。整个动态WEB操作的过程图如下:
  动态WEB中,程序依然使用客户端和服务端,客户端依然使用浏览器(IE、FireFox等),通过网络(Network)连接到服务器上,使用HTTP协议发起请求(Request),现在的所有请求都先经过一个WEB Server Plugin(服务器插件)来处理,此插件用于区分是请求的是静态资源(.htm或者是.htm)还是动态资源。

  • 如果WEB Server Plugin发现客户端请求的是静态的,则将请求直接转交给Web服务器,之后WEB服务器从文件系统中取出内容,发送回客户端浏览器进行解析执行;
  • 如果WEB Server Plugin发现客户端请求的是动态资源,则先将请求转交给WebContainer(是一个Web容器),在Web Container中连接数据库,从数据库中取出数据等一系列操作后动态拼凑页面的展示内容,拼凑页面的展示内容后,把所有的展示内容交给WEB服务器,之后通过WEB服务器将内容发送回客户端浏览器进行解析执行;

动态WEB应用的实现手段

Servlet/JSP:Servlet/JSP技术的性能也是非常高的,不受平台的限制,各个平台基本上都可以使用。而且在运行中是使用多线程的处理方式,所以性能非常高。
  Servlet的所有的程序是采用JAVA代码+HTML的方式编写的,即,要使用JAVA输出语句,一行一行地输出所有的HTML代码,之后,SUN公司受到了ASP的启发,发展出了JSP。

你可能感兴趣的:(萌新刚上道)