web核心

一、数据库

  • Mysql关系型数据库:数据库服务为上层Web应用提供关系式或结构化的数据存储与查询支持。

1.注意

  • 1.增删改查
  • 2.建立主键和外键
  • 3.掌握多表查询

二、JDBC

  • Java与数据库建立连接,访问数据库的一套API应用程序编程接口。

1.步骤

  • 加载驱动(添加mysql驱动jar包)
  • 通过DriverManager工具类获取链接
  • 静态sql,Statement处理完整的sql,可执行增删改的批处理
    动态sql,PreparedStatement封装预编译的sql,可执行查询的批处理
  • 执行sql,executeUpdate增删改,返回影响行数
    executeQuery查询sql,返还结果封装到ResultSet结果集中,添加,执行,清除批处理
  • 处理结果集(如果第四步是查询的话)
  • 关闭连接

2.操作

①.事务控制
  • conn.setAutoCommit (false),commit,rollback(手动提交,回滚,提交)
  • 同一个项目,不同类都要连接数据库,但它们属于同一个线程,使用事务控制可减少资源浪费为,同一个线程保存同一个连接
  • set,get,remove(添加,获取,移除当前线程中的对象)
②.DBCP连接池
  • 创建多个properties文件,存储多个不同的连接池,需要导入三个dbcp相关jar包,并依赖到项目中
  • 声明,创建连接池,从连接池里获取连接

3.ORM思想

  • 数据库的属性映射到java实体类中
  • 表-实体类,行-对象,列-属性,属性私有且类型选择包装类,getset方法,有参无参构造,toString方法

4.三层架构

  • 表现层view(收集数据,展示数据)业务逻辑层service(分析校验处理业务逻辑程序)数据访问层dao(操作数据)

三、XML

1.XML简介

  • 可扩展(用户可自己定义)标记语言,一个标签描述一段数据,XML用来存储和传输数据。
  • web.xml配置页面,描述servlet,filter(过滤器),listener(监听器)等模块的先后关系

2.XML语法

  • 文档声明,元素,属性,注释,CDATA区,特殊字符,处理指令,DTD约束和Schema约束(文档声明中standalone设置为no才可以使用两种约束)
  • 有且只有一个根标签
  • 空格缩进(换行)也会被当做文本处理
  • XML声明之前不能写注释,注释会显示在网页中
  • CDATA里面的内容会直接输出,不被解析

3.XML解析

①.dom编程
  • 将xml文档的每个标签解析成Document对象,生成dom树
  • 增删改查节点和节点属性
②.sax解析
  • 边读物文档边解析
  • 只能读取(速度快),不能修改
③.dom4j解析
  • 将解析的根节点的子节点封装到一个一一映射的java实体类中
  • 增删改查节点和节点属性

四、WEB服务器

1.服务器

  • tomcat,websphere,weblogic,Apache
  • 包括软件(操作系统和软件)和硬件(电脑)
  • 保存大量数据,提供网上信息浏览服务,和各种页面(静态页面,动态页面)
  • 用户发送请求,服务器解析请求,调用程序处理请求,响应请求,返回给客户端
  • C/S架构:要安装软件,代码写在客户端,B/S架构:在浏览器打开,代码运行在服务器端

2.Tomcat服务器

  • 端口号,首页面地址,启动文件(windows和linux)
  • bin、conf、lib、logs、temp、webapps、work
  • 静态页面(html)、动态页面(jsp和servlet)
  • tomcat 既是web服务器,也是jsp和servlet的容器
  • tomcat 作为servlet和jsp容器可编译运行jsp页面和Servlet,是一个运行环境。
  • *tomcat作为web服务器特殊的是具有处理HTML页面的功能。

3.tomcate中发布web项目

  • WebRoot
    – html,jsp,servlets
    – WEB-INF(web.xml,classes[存放运行完servlet产生的class文件],lib)

五、Servlet

  • tomcate是servlet容器
  • servlet文件是WEB服务器上一小段Java程序,使用HTTP协议
  • 接收请求
  • 静态直接由web服务器响应给客户端
  • 动态交给servlet容器处理,得到请求结果,返回给web服务器,响应给客户端

1.生命周期

①.实例化(无参构造)
②.初始化(init)
③.就绪(service,继承HttpServlet抽象类)
④.销毁(destory)

2.web.xml

  • servlet配置,servlet映射
  • load-on-startup(servlet加载顺序)
  • url-pattern(servlet访问路径)
  • init-param(初始化参数值)

3.ServletConfig对象

java中获取init-param初始化参数值的

4.ServletRequest对象

5.ServletResponse对象

①.get、post请求
  • get(参数在地址栏显示),post(参数放在Form Data请求体中,以键值对的形式存在)请求
②.200,404,500,302,304
  • 200成功,404资源不存在,500服务器内部错误,302重定向,304查找本地缓存
③.过程
  • 以form表单为例(超链接,地址)
  • 设置请求方式method,和请求路径action
  • 设置表单的name属性,例name=habit
  • 用户输入参数
  • 参数以键值对形式发送到服务器内部(即action所在路径的servlet),例habit=shopping
  • ServletRequest接收参数,例getParameter(“habit”)
  • ServletResponse的out.println( “html代码”)将结果响应到服务器端
④.乱码问题
  • 客户端编码
  • 服务器端解码(request,response)
⑤.重定向
  • response.sendRedirect(“http://baidu.com”);

6.ServletContext对象

作用于整个web工程

  • 获得上下文路径getContextPath
  • 获得全局初始化参数getInitParameter
  • 获取作为域数据getAttribute
  • 设置作用域数据setAttribute

六、Jsp

  • jsp文件:将servlet用于表现页面的内容提取出来写在jsp中。

1.jsp包含

  • HTML,注释,Java代码(Jsp声明,小脚本,表达式),指令,内置对象

2.九大内置对象

  • request,response,out,session,application,pageContext,page,config,exeception
  • 任何一个Jsp最后都会翻译转化成servlet
  • jsp中的小脚本或者表达式会当做service里面的核心代码翻译成servlet

3.四个作用域

  • 从小到大:pageContext,request,session,application
  • 可以调用setAttribute()存储值,getAttribute()获取值

4.转发

  • servlet中转发
    –request.getRequestDispatcher(“转发地址”).forward(request,response);
  • jsp中转发
    <jsp:forward page="/xxx.jsp" ></jsp:forward>
  • Servlet获取数据,并用setAttribute存储到一个作用域中,转发到一个jsp页面,用getAttribute获取并展现数据
  • request.setAttribute(“id”, 101);-----servlet
  • Object id=request.getAttribute(“id”);------jsp
  • 通过转发来共享数据
  • 转发浏览器地址栏地址不变(转发的过程发生在服务器内部),重定向地址会变
  • 转发的目的地必须是同一个应用内部的某个地址,决不能跳出应用

5.页面的包含

①.静态包含

<%@ include file="header.jsp"%>

②.动态包含

<jsp:include page="header.jsp"></jsp:include>

  • 静态包含页眉页脚,导航栏之类的静态内容,动态包含用于数据库实时查询等动态内容

七、Cookie和Session

将客户端和服务器端多次交互当做一个整体,将多次交互涉及的数据保存下来,提供给后续交互,提供数据管理。

八、EL表达式和JSTL标签库

EL表达式可以给jsp标签的属性赋值,用来直接输出。JSTL标签提供if,choose(相当于java中的switch),forEach(遍历集合和数组)等标签,JSTL和EL结合替换页面中的Java代码:<% %>,<%= %>

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值