Servlet开发步骤

来源:互联网 发布:unity3d跑酷游戏素材 编辑:程序博客网 时间:2024/06/06 10:06
###Servlet开发步骤
  #创建WEB项目
   -目录:webapp/WEB-INF/web.xml
  #导入jar包
   -通过maven导入jar包,搜javaee
   -使用服务器自带的jar包,右键项目,点击properties,target runtime-->勾选tomcat
  #创建Servlet
   -实现Servlet接口
   -也可以继承HttpServlet,此类已实现Servlet接口
   -实现/重写方法service(),在此方法内动态拼HTML
  #注册Servlet
   -注册Servlet,并声明别名
   -通过别名,给此Servlet注册访问路径(可以理解为网名  以/开头)
  #部署项目
   -在Servers下选择Tomcat,右键Add and Remove
   -在弹出框内左侧选中项目,双击移动到右侧
   **部署就是拷贝
  #访问Servlet
   -启动Tomcat
   -浏览器输入地址:http://ip:port/项目名/Servlet网名
  #重新部署
   -修改代码后,需要重新部署并重启Tomcat才有效
   -点击Servers下面的Tomcat,右键publish,可以手动关闭Tomcat,再重启它,也可以等待Eclipse自动重启Tomcat(Reloading....)


###HTTP协议             HyperText Transfer Protocol
 ##什么是HTTP协议
   -它规定了浏览器和服务器如何通信以及通信时的数据格式
   -HTTP协议是无状态协议:一次请求一次连接,完成即断开,服务器没有记住浏览器
   -状态:浏览器曾经访问过的任意数据(证据)
   -某些业务中需要服务器记住浏览器:
       -如:登陆时记住账号,再访问系统内其他页面时,都显示此账号
       -跨浏览器:每个浏览器记录一份数据,不能用config和context
       -跨请求:多次请求可以共用一份数据,不能用request
       -Cookie和Session可以跨浏览器、及跨请求的解决此问题
         -对比:
          -Cookie:将数据存在浏览器上,容易被篡改,但服务器节约内存
 -Seession:将数据存在服务器上,不会被篡改,但服务器压力大
-重要数据存到Session里,不重要数据存到Cookie里
 ##状态管理:客户端(浏览器)与服务器之间多次交互当做一个整体来看待,并且将多次交互所涉及的数据即状态保存下来。
   -使用Cookie和Session记录数据,目的是让服务器记住浏览器曾经来过的状态,称为状态管理
   -什么是Cookie?
    -浏览器向web服务器发送请求时,服务器会将少量的数据以set-Cookie消息头的方式发送给浏览器,浏览器将这些数据保存下来;
     当浏览器再次访问服务器时,会将这些数据以Cookie消息头的方式发送给服务器。
   -什么是Session?
    -浏览器访问Web服务器时,服务器会为每一个浏览器在服务器端的内存中分配空间,单独创建一个Session对象,该对象有一个Id属性,
     其值唯一,一般称之为SessionId,并且服务器会将这个SessionId(使用Cookie的方式)发送给浏览器;浏览器再次访问服务器时,
     会将SessionId发送给服务器,服务器可以依据SessionId找到对应的Session对象。
 ##如何通信:一次请求一次连接
   -建立连接
   -发送请求
   -接收响应
   -关闭连接
 ##数据格式
  #请求数据包
   -请求行:请求方式、Servlet路径(Servlet网名)、协议类型版本
   -消息头:数据的描述信息
   -实体内容:浏览器发送给服务器的数据
  #响应数据包
   -状态行:协议类型版本、状态码、状态描述
   -消息头:数据的描述信息
   -实体内容:服务器给浏览器发送的数据
 ##对开发的要求
   -通信的方式已经由浏览器和服务器完成
   -请求数据的打包由浏览器实现
   -响应数据的打包由服务器实现
   -开发需要提供浏览器发送给服务器的数据,以及服务器返回的数据
   -服务器通过request对象接收请求数据
   -服务器通过response对象向浏览器发送数据




###请求方式   ---浏览器向服务器发送数据的方式     通过设置表单form的method属性来设置请求方式
   -有GET POST HEAD PUT DELETE 等
 ##需要掌握GET和POST方式         
   -从安全上来讲,post方式相对安全(因为请求参数及值存放在实体内容里面,而get方式会将请求参数及值显示在浏览器地址栏)。
   -但是要注意,post方式并没有将数据加密。
  #GET
   -默认情况下所有的请求都是GET请求
   -采用路径传参,即将请求参数和参数值放在请求资源路径里                      
   -传参过程中参数可见,隐私性差
   -因为路径大小有限制,所以能够传递的参数很小 
  #POST
   -method="post"   即是POST方式  
   -采用实体内容传参,即将请求参数和参数值放在实体内容里面
   -在传参过程中,路径上看不到参数,隐私性好
   -实体内容专门用于传递数据,因此大小不受限制


 ##使用场景
   -浏览器向服务器索取(查询)数据用GET请求
   -浏览器向服务器提交(保存)数据用POST请求




                System.out.println(req.getContextPath());//   /Servlet5
System.out.println(req.getServletPath());//   /abc
System.out.println(req.getRequestURI());//    /Servlet5/abc
System.out.println(req.getRequestURL());//   http://localhost:8088/Servlet5/abc  

0 0