Http响应头字段详解,MyEclipse配置tomcat,servlet运行方式

在学习Servler的过程中,出现了很多问题,通过教授指导,明白了很多

 

预备知识:

Web.xmlweb开发里面最重要的一个文件,只要涉及对web资源配置和管理的话,统统可以通过webXml文件来实现。

如果有java程序,一定要在web应用里面建一个WEB-INF,在classes中放

一个java程序;jar放在lib里面,放个jar包;每个web应用最好有一个

web.xml(最重要的),放在WEB-INF里面

要把某一个文件设为首页,在webXml文件中设置,对着webXml文件抄头抄尾。

 

http请求行和请求方式详解

请求行中的GET称之为请求方式,请求方式有:

POST    GET(常用)  HEAD,OPPTIONS,DELETE,TRACE,PUT

GET方式的特点:在URL地址后附带的参数是有限制的,其数据容量通常不超过1k

POST:传送的数据量无限制。

提交用户名密码form表单时,不要用GET请求

 

12请求头:

Accept:告诉服务器,客户机支持的数据类型

Accept-Chraset:告诉服务器,客户机采用的编码

Accept-Encoding:告诉,客户机支持的数据压缩格式。

Accept-Language:客户机的语言环境。

Host:客户机通过这个头告诉服务器,客户机的软件环境。

Cookie:客户机通过这个头可以向服务器带数据。

 

响应头:

Location:配合302状态码使用,用于告诉客户找谁

Server:服务器通过这个头,告诉浏览器的类型

Content-Encoding:服务器通过这个头,数据的压缩格式。

 

 

首先没有弄明白tomcat的结构,到后面运行servlet访问页面出现很多问题:

安装tomcat,一路下一步

 

首先MyEclipse配置的时候,刚开始不明白怎么配置,后来查了资料知道先Window->preferences->Tomcat6.x进行配置

 

单机tomcat6.xjdk进行配置,找到虚拟机的位置

 

新建web工程,再新建一个servlet,包名servlet,删除多余代码,保留doGetdoPost,且为空,在Get方法中添加代码,有两种方式将自带的WebRoot下的网页文件自建的html发布到服务器上第一种在DoGet中添加代码

 

 

 

 

第一种:

System.out.println("aaa");//为了验证servlet运行

response.setStatus(302);//回送一个302的状态码

response.setHeader("location","/Web/3.html");//回送location这个头,发布到服务器上

 

(这种是我看视频看的,感觉看视频的效果不是很好,并且学的进度很慢,但是我也找不到很好的方法,他们说看书会很快,不知道为啥对我不适合,我看书很慢,吸收效率也很低)

第二种:

RequestDispatcher dispatcher = request.getRequestDispatcher("3.html");

dispatcher.forward(request, response);

(这种是我培训的同学给我写的,他们是这么讲的)

 

再次强调每次修改servlet中的代码都一定要重新启动服务器,否则一点效果也起不到,学servlet多启动服务器(原创怎么样,应该很实用)。

 

WebRoot下新建一个3.html文件我犯了一个很重要的错误就是点击jsphtml时自动弹出窗口error····一些烦人的东西,打不开jsphtml,后来经过上网查资料,网上有很多错误信息,删除过MyEclipsecontent下的一些内容,但是导致我Myeclipse关闭不了了,只能重启电脑,后来接着找别的资料,让我也犯了很多错,后来终于发现,原来是我曾经装过Myeclipse10.0版本,(由于该最新版本没有注册号,用了15天不能用了,按别人步骤注册导致不能用了,只能无奈卸了)不能再把装的新的版本放在曾经的文件夹下,最后解决,好恶心,等jsp打开后,心里有点成就感,太高兴了,忠于解决,皇天不负有心人。

 

 

还有一个错误;我的jdk6.0,而装的却是tomcat7.0,导致在MyEclipse上运行tomcat出现异常,各种打击啊,这样会导致运行servlet出现错误(我是这么认为的,因为我的程序运行出现了很多错误,也让我认为他们版本不统一,可能不兼容)我就把tomcat改成了tomcat6.0,把70卸了。

错误接着错误,我从上面的run/Stop/reStart MyEclipse server 关闭服务再重新启动的时候,还会导致异常,无奈的只能等着培训的同学回来给我帮忙解决了

后来才发现最后是从下边关闭服务器,从上面打开,这样就可以了。

 

 

 

一定要注意每改一次后台代码,服务器都要重新启动一次,不然缓存中保留之前的代码,没有起到运行后来修改的代码的效果。

 

好了,昨天没写完,今天接着写,感觉整这玩意累并快乐着。

下面部署工程和tomcat建立连接,一路顺着做,点击finish

 

 

 

 

启动tomcat,如果出现下面的异常,一定要检查c盘下的tomcat是否关闭了,因为如果c盘下打开了tomcat,在MyEclipse下就不能打开了

 

运行结果下面出现这种内容,说明启动成功

 

 

 

部署启动完服务器后,接着就是要快运行了

(一定要记得每个工程都要重新部署,以免因失去部署而导致程序错误)

http://localhost:8080/Web/在浏览器上运行,出现此图说明servlet运行成功

 

此时我已兴奋屎了。

接着输入网址:http://localhost:8080/Web/servlet/ServletDemo1

我擦,这次奇了怪了,竟然奇迹般的运行成功了,

当时我是运行不成功的,让我同学看了好久。为何运行失败,你有没有想过还有一个webXml没提到呢,这个家伙也重要,你要想通过输入不同的网址来访问它,就要对它进行配置,到此我建议你看下web应用组织结构和web.xml文件的作用,对于此处理解的会更透彻,当时我是没看,或是看的印象不是太深刻,就给忘了。

我同学给我写了几行代码:

 

现在想想它不就是修改此servlet运行的地址吗?(刚学没多久我是这么认为的)<url-patter> 翻译地址模式,我擦现在感觉英语没学好,搞这就是伤,所以建议你们在大学期间好好学学英语,拼了命的学,谁说大学及格万岁,你要没家底,就拼了命的学,不然快毕业时你会后悔!

就这样输入网址运行也成功http://localhost:8080/Web/ServletDemo1

综上tomcat部署启动关闭注意问题,两种方运行servlet,发布网页的方式讲的差不多了,感觉写这篇博客很有纪念意义,因为我花了好久的时间才弄明白的,并且非常明白了。又给你们写了一遍,算是我又重新学了一遍吧,有点成就感,也感觉这东西有时很奇怪,得需要耐心。好了送给大家如果感觉真的有用,请记得你也写一篇,让所有在迷途中的老少爷们别走那么多弯路,你知道不知道怎么弄多坑吗?又该吃饭了,昨天下馆子吃撑了,现在都不怎么饿。O(_)O~

我去,上面有些需要修补的,用360截屏工具整的,现在重新使用怎么不行了,无奈只能去重新设置截图快捷键,你说360坑不坑啊。

posted @ 2013-11-14 07:43  菜鸟搞IT  阅读(967)  评论(0编辑  收藏  举报