博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java web
阅读量:5050 次
发布时间:2019-06-12

本文共 4480 字,大约阅读时间需要 14 分钟。

1、java web

  • 基于javaEE,需要在该框架的容器和组件支持下完成。
  • 以分布式组件集合的形式存在(即由软件组件构成),而分布式软件组件在其各自的容器中运行。
  1.1、容器
  • 指的是提供特定程序组件服务的标准化运行环境,客户通过这些组件可以在javaEE平台上得到所期望的服务。
  • 作用:为组件提供标准化服务(部署、执行、生命周期管理、安全等)和API接口

 

包括:

  (1)、Applet容器。负责在web浏览器和java插件上运行java applet程序,对应于用户界面层。现在少用了。

  (2)、应用客户端容器。负责web应用在客户端组件的运行,对应于用户界面层。

  (3)、web容器。管理jsp和servlet等组件的运行,主要负责web应用与浏览器的通信。对应于表示层。

  (4)、EJB容器。为Enterprise JavaBean组件提供运行环境。主要负责数据处理以及和数据库或其他java程序的通信。对应于业务层和数据访问层。

  1.2、组件
  • 指在应用程序中发挥特定功能的软件单位。实质就是在功能和使用上被标准化的几种特定java程序。 

 

分类:

  (1)、客服端组件。Applet和客户端应用程序。

  (2)、web组件。web容器中的jsp、servlet、过滤器和监听器。

  (3)、EJB组件。EJB容器中的EJB组件


 

2、java web开发技术

一个完整的web应用程序通常由如下组件构成:

  (1)、表示层(视图)。一般由html和jsp页面。

  (2)、控制层。servlet。

  (3)、业务逻辑层。JavaBeab或EJB。

  (4)、数据访问层(持久层)。jdbc、hibernate。


  

  【1】、html


  

  【2】、css


  

  【3】、javascript


  

  【4】、jsp

  • Java Server Page, Java EE 组件,本质上是 Servlet。
  • 运行在 Web Container.接收 Http Request,生成 Http Response(默认协议是 Http 请求和响应)
  • JSP 使得我们能够分离页面的静态 HTML 和动态部分——我们需要的技术。
  • 使页面可以混和html代码、Java代码以及JSP标签;允许访问组件

标记:

  (1)、jsp指令标记。page、include、taglib。

  (2)、jsp动作标记。include、forward、param、useBean、setProperty、getProperty。

  (3)、jsp成员声明标记。声明全局变量。

  (4)、jsp程序片。

  (5)、jsp表达式。

重要内置对象:

  (1)、request

    重要方法:set/getAttribute()、set/getParameter()、getCookie()、set/getCharacterEncoding()

  (2)、response

    重要方法:setCharacterEncoding()、setContentType()、sendRedirect()可以跳转到任意页面且不带request信息。setHeader()可以定时刷新或定时重定向网页等操作。

  (3)、out

  (4)、session

    重要方法:getId()、set/getAttribute()、idNew()、getCreationTime()、getLastAccessedTime()

  (5)、application

    只要不关闭服务器将一直存在。所有用户共享。


  

  【5】JDBC

Dao设计模式:实现了业务数据的对象化封装,数据访问和业务逻辑的分离。

  四个组件:

    DBUtils工具类---负责数据库的连接与关闭

    Dao接口---定义增删该查的抽象方法,一个领域模型对应一个Dao接口。

    Dao接口的实现类

    VO值对象---一个VO对应一个数据表,便于把对数据表的操作转化成对java类的操作。

  


 

数据源与连接池技术


  

  【6】JavaBean

  • 遵循一定规范的java类;
  • 封装了数据和业务逻辑;
  • 供jsp和servlet调用。

  

  【7】servlet

按照servlet规范编写、由服务器调用和执行的服务器端程序。

继承自父类HttpServlet的重要方法:

  init():全局执行一次。

  service():根据请求类型会调用doGet()和doPost()方法。

  doGet()。

  doPost()。

  destroy():servlet对象注销时自动调用。

这些方法构成了servlet的生命周期,即创建、服务、消亡。

内置对象:

  request、respose、session(request.getSession()获取)、out(request.getWriter())


 

servlet组件和jsp组件可以通过request、session、application、cookie和javaBean实现数据共享。


  

  【8】基本编程模式

(1)、jsp

(2)、jsp+javaBean

(3)、jsp+servlet

(4)、jsp+servlet+javaBean

(5)、jsp+servlet+javaBean+Dao模式


  

  【9】EL和JSTL

EL与JSTL目的都是为了:提高开发效率,减少页面中jsp代码的数量、保持页面的简洁和可读性、可维护性。都作用在jsp页面表示层。


EL(Expression Language):表达式语句。

作用:获取范围变量的值,并在页面上显示出来。


 

这里的“范围变量”包括:

  1、内部对象:jsp(pageContext)、作用域(pageScope、requestScope、sessionScope、applicationScope)、请求参数(param、paramValues)、cookie(cookie)、请求头(header、headerValues)

  2、集合、数组

  3、javaBean

  4、其他对象或数据结构

JSTL(JSP Standard Tag Library):jsp标准标签库。


 

分类:

  1、核心库:c,操作变量、流程控制、url生成和操作

  2、函数:fn,字符串处理函数

  3、数据库操作:sql,操作关系数据库

  4、格式化:fmt,数字机日期的格式化、页面国际化

  5、XML处理:x,操作Xml数据


  

  【10】Ajax

  运用js和xml实现浏览器和服务器异步通信的一种技术。实现页面的局部刷新和显示。

  js原生Ajax:使用浏览器内置的ajax引擎完成异步通信

    (1)创建Ajax引擎对象

    (2)绑定监听、接受响应数据的处理

    (3)提交地址

    (4)发送请求

1  2  3    4     
5 AJAX实例 6 42 43 44 45 46 47
原数据
48 49 50 51 52
ajax实例

  Jquery中的Ajax:对js原生的ajax进行了封装,封装后的ajax的操作方法更简洁,功能更强大

 

    重要方法:

      jQuery.ajaxSetup()---设置将来的 Ajax 请求的默认值。

      jQuery.ajax()---执行异步 HTTP (Ajax) 请求。

      jQuery.get()---使用 HTTP GET 请求从服务器加载数据。

      jQuery.getJSON()---使用 HTTP GET 请求从服务器加载 JSON 编码数据。

      jQuery.post()---使用 HTTP POST 请求从服务器加载数据。

 

      序列化方法:

        jQuery.param()---创建数组或对象的字符串序列化表示,适合在 URL 查询字符串或 Ajax 请求中使用。

        serialize()---将表单内容序列化为字符串。

        serializeArray()---将表单内容序列化为JSON数组。

1 $.ajax({ 2     url:'/comm/test1.php', 3     type:'POST', //GET 4     async:true,    //或false,是否异步 5     data:{ 6         name:'yang',age:25 7     }, 8     timeout:5000,    //超时时间 9     dataType:'json',    //返回的数据格式:json/xml/html/script/jsonp/text10     beforeSend:function(xhr){11         console.log(xhr)12         console.log('发送前')13     },14     success:function(data,textStatus,jqXHR){15         console.log(data)16         console.log(textStatus)17         console.log(jqXHR)18     },19     error:function(xhr,textStatus){20         console.log('错误')21         console.log(xhr)22         console.log(textStatus)23     },24     complete:function(){25         console.log('结束')26     }27 })
View Code

 

  【11】过滤器

  主要用来来接用户请求,实现如权限检查、编码转换、加密、站点访问权限控制等通用的“横向”模块。


  

  【12】监听器

主要用来监听web应用的上下文信息、servlet请求、session会话等信息,并自动根据不同情况,在后台调用相应的处理程序。

除了监听ServletContext、HttpSession、ServletRequest等对象本身的变化(创建、销毁),还可以监听对象中属性的变化(增、删、改)

转载于:https://www.cnblogs.com/jmqm/p/6876028.html

你可能感兴趣的文章
一步一步学MySQL-日志文件
查看>>
bzoj3994: [SDOI2015]约数个数和
查看>>
hdu5306 Gorgeous Sequence
查看>>
Android中使用ListView实现下拉刷新和上拉加载功能
查看>>
proc文件系统的简介
查看>>
连续自然数和
查看>>
[SDOI2015]星际战争
查看>>
用好lua+unity,让性能飞起来——luajit集成篇/平台相关篇
查看>>
JS控制页面跳转
查看>>
递归与循环的区别
查看>>
【USACO】Watering Hole 2008 Oct
查看>>
动态链接的步骤
查看>>
emacs 缩写词功能
查看>>
Api demo源码学习(2)--App/Activity/Custom Dialog --自定义Activity样式
查看>>
Velocity脚本简明教程
查看>>
虚拟机类加载机制
查看>>
RTSP流媒体数据传输的两种方式(TCP和UDP)
查看>>
大数n!
查看>>
TreeView控件使用总结
查看>>
PowerDesigner 生成的脚本取掉双引号
查看>>