JavaWeb简介

Web应用程序

  • Tomcat服务器的目录结构
    • JavaWeb简介_第1张图片
  • Web-INF目录结构
    • WEB-INF是Java的WEB应用的安全目录。所谓安全就是客户端无法访问,只有服务端可以访问的目录
    • web.xml,项目部署文件
    • classes文件夹,用以放置*.class文件
    • lib文件夹,用于存放需要的jar包
  • 修改Tomcat端口号

    • 在tomcat安装目录打开/conf/server.xml
    • 
       <Connector port="8888" protocol="HTTP/1.1"
       connection="20000" 
       redirectPort="8443"/>

    Jsp基础语法

  • JSP页面生命周期
    • JavaWeb简介_第2张图片
    • jspService()方法被调用来处理客户端的请求。对每一个请求,JSP迎亲创建一个新的线程来处理该请求。如果多个客户端同时请求该JSP文件,则JSP引擎会创建多个线程。每个客户端请求对应一个线程。以多线程方式执行可以大大降低对系统的资源需求,提高系统的并发量及响应时间。但也要注意多线程的编程带来的同步问题,由于该Servlet始终驻于内存,所以响应是非常快的。
  • JSP内置对象

    • 内置对象简介
      • Web程序的请求响应模式
        • 用户发送请求(request)
        • 服务器对用户响应(response)
    • 四种作用域范围
    • out
      • out对象是JspWriter类的实例,是向客户端输出内容常用的对象
    • get与post区别
      • 表单有两种提交方式:get与post
        • 1、get:以明文的方式通过URL提交数据,数据在URL中可以看到。提交的数据最多不超过2KB。安全性较低但效率比post方式高。适合提交数据量不大,安全性不高的数据。比如:搜索、查询等功能。
        • 2、post:将用户提交的信息封装在HTML HEADER内。适合提交数据量大,安全性高的用户信息。比如:注册、修改、上传等功能。
    • request/response
      • request对象
        • 客户端的请求信息被封装在request对象中,通过它才能了解到客户的需求,然后做出响应。它是HttpServletRequest类的实例。request对象具有请求域,即完成客户端的请求之前,该对象一直有效。
      • response对象
        • response对象包含了相应客户请求的有关信息,但在JSP中很少直接用到它。它是HttpServletResponse类的实例。response对象具有页面作用域,即访问一个页面时,该页面内的response对象只能对这次访问有效,其他页面的response对象对当前页面无效。
    • session

      • session表示客户端与服务器的一次会话
      • Web中的session指的是用户在浏览某个网站时,从进入网站到浏览器关闭所经过的这段时间,也就是用户浏览这个网站所花费的时间
      • 从上述定义中可以看到,session实际上是一个特定的时间概念
      • 在服务器的内存中保存着不同用户的session
      • session对象

        • session对象是一个JSP内置对象。
        • session对象在第一个JSP页面被装载时自动创建,完成会话期管理。
        • 从一个客户打开浏览器并连接到服务器开始,到客户关闭浏览器离开这个服务器结束,被称为一个会话
        • 当一个客户访问一个服务器时,可能会在服务器的几个页面之间切换,服务器应当通过某种方法知道这是一个客户,就需要session对象
        • session对象是HttpSession类的实例
        • Tomcat默认session超时时间为30分红。
        • 设置session超时有两种方式:
          • session.setMaxInactiveInterval(时间)://单位是秒
          • 在web.xml配置< session-config>< session-timeout>10< /session-timeout>< /session-config>单位是分钟
      • session的生命周期

        • 创建:当客户端第一次访问某个jsp或者Servlet时候,服务器会为当前会话创建一个SessionId,每次客户端向服务端发送请求时,都会将此SessionId携带过去,服务端会对此SessionId进行检验。
        • 活动:
          • 某次会话当中通过超链接打开的新页面属于同一次会话。
          • 只要当前会话页面没有全部关闭,重新打开新的浏览器窗口访问同一项目资源时属于同一次会话。
          • 除非本次会话的所有页面都关闭后再重新访问某个Jsp或者Servlet将会创建新的会话。
          • 注意:注意原有会话还存在,只是这个旧的SessionId仍然存在于 服务端,只不过再也没有客户端会携带它然后交予服务端检验。
        • 销毁:Session的销毁只有三种方式:
          • 调用了session.invalidate()方法
          • Session过期(超时)
          • 服务器重新启动
    • application
      • application对象实现了用户间数据的共享,可存放全局变量
      • application开始于服务器的启动,终止与服务器的关闭不同用户之间的连接中,可以对application对象的同一属性进行操作
      • 在用户的前后连接或不同用户之间的连接中,可以对application对象的同一属性进行操作
      • 在任何地方对application对象属性的操作,都将影响到其他用户对此的访问
      • 服务器的启动和关闭决定了applicaion对象的声明
      • application对象是ServletContext类的实例
    • 其他内置对象
      • 请求转发与请求重定向
        • 请求重定向:客户端行为,reponse.sendRedirect(),从本质上讲等同于两次请求,前一次的请求对象不会保存,地址栏的URL地址会改变。
        • 请求转发:服务器行为,request.getRequestDispatcher().forward(req,resp);是一次请求,转发后请求对象会保存,地址栏的URL地址不会改变。
      • Page对象
        • page对象就是指向当前JSP页面本身,有点像类中的this指针,它是java.lang.Object类的实例。
      • pageContext对象
        • pageContext对象提供了对JSP页面内所有对象及名字空间的访问
        • pageContext对象可以访问到本页所在的session,也可以取本页面所在的application的某一属性值
        • pageContext对象相当于页面中所有功能的集大成者
        • pageContext对象的本类名也叫pageContext
      • Config对象
        • config对象是在一个Servlet初始化时,JSP引擎向它传递信息用的,此信息包括Servlet初始化时要用到的参数(通过属性名和属性值构成)以及服务器的有关信息(通过传递一个ServletContext对象)
      • Exception对象
        • exception对象是一个异常对象,当一个页面在运行过程中发生了异常,就产生这个对象。如果一个JSP页面要应用此对象,就必须把isErrorPage设为true,否则无法编译。它实际上是java.lang.Throwable的对象
    • 项目案例
  • Javabean
    • Javabean简介
      • Javabeans就是符合某种特定的规范的Java类。使用Javabeans的好处是解决代码重复编写,减少代码冗余,功能区分明确,提高了代码的维护性。
    • Javabean设计原则
      • 公有类
      • 属性私有
      • 无参的公有构造方法
      • getter和setter方法
    • Jsp中如何使用Javabean
    • < jsp:useBeans>
    • < jsp:getProperty>
    • < jsp:setProperty>
    • Javabean的四个作用域范围
      • 说明:useBeans的scope属性可以用来指定JavaBean的作用范围
    • Model1简介
      • Model 1模型出现前,整个Web应用的情况:几乎全部由JSP页面组成,JSP页面接受处理客户端请求,对请求处理后直接做出响应。
      • 弊端:在界面层充斥着大量的业务逻辑的代码和数据访问层的代码,Web程序的可扩展性和可维护性非常差。
      • JavaBean的出现可以使jsp页面中使用JavaBean封装的数据或者调用JavaBean的业务逻辑代码,这样大大提升了程序的可维护性。
      • JavaWeb简介_第3张图片
    • 项目案例
  • Jsp状态管理
    • http协议无状态性
      • 无状态是指,当浏览器发送请求给服务器的时候,服务器响应客户端请求。
      • 但是当同一个浏览器再次发送请求给服务器的时候,服务器并不知道他就是刚才那个服务器。
      • 简单地说,就是服务器不会去记得你,所以就是无状态协议。
    • 保存用户状态的两大机制
    • Cookie简介
      • 保存用户的状态的两大机制(Session、Cookie)
      • Cookie是Web服务器保存在客户端的一系列文本信息
      • 典型应用:
        • 判定注册用户是否已经登陆网站
        • “购物车”的处理
      • Cookie的作用
        • 对特定对象的追踪
        • 保存用户网页浏览记录与习惯
        • 简化登陆
        • 风险:容易泄露用户信息
    • Cookie的创建与使用
    • Session与Cookie的对比
      • JavaWeb简介_第4张图片
  • JSP指令与动作元素
    • include指令
      • 一个页面包含另一个页面的内容
      • 语法:<%@ include file=”URL”%>
    • include动作
      • 动作标签
      • 语法:
    • include指令与include动作的区别
      • JavaWeb简介_第5张图片
    • < jsp:forward>动作
      • 语法:< jsp:forward page=”URL”/>
      • 等同于:request.getRequestDispatcher(“/url”).forward(request, response);
    • < jsp:param>动作
      • 语法:< jsp:param name=”参数名” value=”参数值”>
      • 常常与< jsp:forward>一起使用,作为其的子标签,附加更多的参数
    • < jsp:plugin>动作

你可能感兴趣的:(JavaWeb简介)