Java Web 学习笔记(part)


1.http是一个基于request / response模式的,无状态的协议。
   比如,(发送一个请求)http://www.163.com ------>发送到服务器------->(响应)返回一个页面


2.浏览器/服务器  通讯过程


                         1.发起连接
                            ------------------->          
                        2.发送请求(request)
                           --------------------->
       Browse    3.服务器响应请求(response)     Server
                          <-----------------
                      4.服务器关闭连接
                           <--------------------
     


3.想要启动Tomcat,配置JAVA环境变量:   CATALIINT_HOME        ( tomcat的路径)
                                                                JAVA_HOME               ( jdk 的路径)

  
4. Servlet是JAAVA服务器端编程,运行正在服务器上(Tomcat、Resin、Jetty、Weblogic、WebSphere、JBoss)
  (这里用Tomcat)。


  
5.导出配置文件;  Export----->General------>Preferences....
    导入(记录配置信息,如JDK.....)
  
  


6. 配置一下:可以不用重新部署项目:
    Tomcat 的conf目录--->server.xml 中 </Host>标签上面添加:
    <Context path="/testWeb" docBase="F:\.metadata\WorkSpace\testWeb\WebRoot" reloadable="true"/>
   
    path:上下文的路径,和访问时 localhost:8080/后面的地址一致。(逻辑路径)
    docBase: 当前的文件所在硬盘的位置。(物理路径)
    reloadable:true表示修改过...自动启动服务器...
    
   
   
7.Web.xml (deployment descriptor)部署描述符  


8. 第一个Servlet程序:  Hello World.  修改web.xml


9.我们可以将Servlet看作是嵌套类HTML代码的JAVA类; 可以将JSP看作是嵌套类Java代码的HTML页面。



10. Login.jsp页面         

          userName: |____________|                                                             

          userName: |____________|    ----------> LoginServlet处理(输出username:XXXX   password:XXXXX)


 
11. Get/Post方法之间的差别
      1).浏览器地址栏呈现的结果不同(表象);
      2).真正的原因在于向服务区端发送请求时的形式是不同的;
      3).get 的请求格式: GET /testWeb/LoginServlet/username=hello&world=world HTTP/1.1
          post 的请求格式:POST /testWeb/LoginSErvlet HTTP/1.1

 


12.通过浏览器进行文件上传时一定要使用Post方式而绝不能使用Get方式。


13. 客户端/服务器/Servlet/JSP之间的关系:
      浏览器(客户端)    ----------->    服务器(Tomcat) --------->  Servlet
                                    <-----------            




  JSP(JavaServer Pages)深入学习  (April 17,2012)
 
14.   1).所有的程序操作都是在服务器端执行。网络上传给客户端的仅是得到的结果。
         2).Servlet 简化设计,逻辑和界面设计分开,开发更方便。


15. JSP执行过程
                                                                                  (servlet)
                                                                                      |
                 request                                      jsp解析器      |    servlet分析器
                                     ------------------ ----------> *.jsp ---------->*.java ----------------> *.class
                                                                                                                        |
                                                                               | (执行)
                               <-----------------------------------------------------------------------------------------

                                                                           response


              ( Jsp能实现的,Servlet一定能实现,可逆。)



16. JSP语法分为3种类型:
。编译器指令.(如<%@ page import="java.io.*%> )                    <!--XX-->        <@--XX-->
。脚本语法.----------------------------------------------------------------> HTML注释 、 隐藏注释、声明、表达式、脚本段
。动作语法.  (如 <jsp:forward>,<jsc:include>)


17.JSP声明格式: <%!int a=3;%>

 脚本段格式<% int b=3; %> 

当服务器将JSP转换为Servlet时,会将JSP中的声明转换为类的成员变量,而将脚本端转换为方法中的局部变量,Servlet是单实例的,

这样成员变量的值就只有一个,每个用户都会访问到它,而脚本段中的值则是局部变量,每个用户访问的时候各有一份,互不影响。


18.  包含指令include :向当前页中插入一个静态文件的内容。
       语法:<%@ include file="relativeURL" %> 或 <%@ include file="相对位置" %>

 

19. page指令用于定义JSP文件中的全局属性。

      (无论把<%@ Page%>指令放到JSP文件放到哪个地方,其作用范围都是整个JSP页面。)

 

20.  taglib指令



21. <jsp:forward> 指令用于转向页面,在该指令后面的代码都没有机会执行了,因为页面的流程已经转向另一个页面了。 

 


22. JSP内置对象:

request           请求对象
session          会话对象
application    应用程序对象


response    响应对象
pageContext 页面上下文对象
out 输出对象
config 配置对象
page 页面对象
exception 异常对象




23. session.setAttribute(String ,Object);
       session.getAttribute();
       可以理解为浏览器没关,session一直都在,关了浏览器session销毁。
   
24. getAttribute:以对象的形式返回特定名称的属性值。
     (如果所给名称的属性不存在返回空值...)


25. Request 的setAttribute与getAttribute方法一般都是成对出现的,首先通过setAttribute方法设置属性和属性值, 然后通过getAttribute方法根据属性 

      获取到与该属性对应的对象值(获取到之后一般都要进行向下类型转换,将属性值转换为真正的对象。)

       setAttribute和getAttribute都是在服务器端内部执行的,客户端不知道服务器是否执行过这两个方法。


26.  Request 的 getParameter方法的作用是获取到客户端通过表单或者URL请求参数所发送过来的参数。是客户端与服务器端的交互,

      服务器端要想获取到客户端发送过来的数据,就需要使用getParameter方法来获取。没有与getParameter 对应的setPearameter方法。


27. request对象内数据的存活范围就是在request对象存活范围内,当客户端向服务器发送一个请求,服务器向客户端返回一个响应后,该对象就被销毁了;

     之后在想服务器发送新的请求时,服务器会创建新的 request对象,该request对象与之前的request对象没有任何关系,因此也无法获得之前的request

     对象中存放发任何数据。

  
28. session对象内的数据存活范围也就是session对象存活的范围(【只要浏览器不关闭,session对象就会一直存在!】)
      因此在同一个浏览器窗口中,无论想服务器端发送多少个请求,session对象只有一个。  

    (part 1)
















  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值