0、MySql
增删改查 分页(简单 关键字limit)起始条数 每页展示的条数 limit 6,3 **oracle分页(子查询 伪列:隐藏列rownum)【自学】** 1. 员工表 查询工资大于10000的部门信息 查询语句 嵌套 查询语句(复习忘了) 2.增删改查 增: insert into 表名(列) values(全部列值); insert into 表名 values(全部列值); 删: delete from 表名 where 条件(不加条件删除全部表数据) 改: update 表名 set 列名=列值 where 条件(不加条件删除全表的值) 查: select * from 表名 where 查询条件
1、JDBC
使用Java程序访问操作数据库的相关API(一组功能接口) javaEE编程规范之一 1、核心API:核心接口与|六个步骤 DriverManager:链接管理类 Connection:链接对象接口 PrepareStatement:sql操作数据库接口 ResultSet 结果集接口 编程步骤:a.加载驱动 b.获取链接对象 参数:url.username password c.准备sql语句 d:装载sql语句 【填充动态参数】 e.执行SQL f.处理结果 增删改 返回影响条数 查询:返回结果集,需要处理 g.关闭资源 先开后关 2.工具类 封装获取链接 关闭资源 简化开发 3. 设计思想 dao 数据访问对象 封装是对某个实体类的增删改查操作 编程思想 ORM:对象关系映射 用java中的类去映射数据库中的表 一一对应 4. service 业务层 设计思想 封装的是用户的功能或者操作封装成业务类中的方法 action调业务 事务:保证业务操作的完整性,整体提交,整体回滚【转账】 JDBC默认事务控制,手动控制 conn.setAutoCommit(false); conn.commit();提交 conn.rollback();回滚 数据库中的事务:保证一组Sql语句操作的完整性 特性:原子性,一致性,隔离,持久性
conn.commit();提交
conn.rollback();回滚
数据库中的事务:保证一组Sql语句操作的完整性
特性:原子性,一致性,隔离,持久性
2、Html&CSS
1.HTML: HTML标记语言 静态网页 标签 <img src="图片的路径"/>图标 <a href="链接资源的目标位置"></a>超级链接 <thead></thead> <table> <tobdy>表格体 <tr> <td>行</td> </tr> </tobdy> </table>表格 <tfoot></tfoot> <form action="" method="get/post"> <input type="text"/> <input type="password"/> <input type="radio"/>单选 <input type="checkbox"/>复选 <input type="date"/> <input type="file"/> <input type="text"/> <input type="hidden"/> <input type="submit"/> <input type="button"/>普通按钮 <input type="reset"/>重置按钮 <select> <option>列表项 </option> </select>下拉列表 <textarea/> </form> 表单用来收集客户端数据的一种方式 2.css美化页面 为HTML页面增加样式 三种添加样式的方式 (1)内嵌式,在标签中使用style属性 (2)内联式:写在head中 <style type="text/css"> 选择器:id 标签选择器 类选择器 多路选择器 层次选择器 </style> (3)外联式 a.新建样式文件 xxx.css b.引入样式文件 <link rel="stylesheet" href="" type="text/css"></link> (4)布局div+span 核心:盒子模型 border边框设置 padding内边距 margin外边距、外补白
3、Servlet
1.服务器小程序 服务端的代码片段 服务端的java程序响应式编程 javaWeb编程的基础,JavaEE编程规范之一 作用:动态打印HTML网页,实现页面的动态展示 编程: 写类:implements Servlet 覆盖service方法 Servletrequest Servletresponse 5个方法 配置:对外访问路径 url-pattern /xx Servlet-name Servlet-Mapping Servlet-clss **2.URI/URL/URL-pattern的区别** (1). URI:统一资源**标识符:标识网络中的每个资源,一定能找到,使用某些资源,引jar包 ** **抽象或物理资源的一个紧凑字符串** <%@taglib prefix="c" uri="统一知识标识符 http://java.sun.con/jsp/jstl/core"%> jstl:<c:> (2). URL:统一资源**定位符:不一定能找到,是调到每个位置** 404,超级链接URL,form表单URL, 定位资源的主要访问机制的字符串,一个标准的URL必须包括:protocol、host、port、path、parameter、anchor。 (3). URL-pattern:表示Servlet程序对外访问路径 资源:视频,图片,音频,文件,程序 3.第二种开发方式:适配器 23设计模式之一|2线程 类 HttpServlet implements Servlet 实现五个方法 提供空实现 (1). MyServlet extends HttpServlet 覆盖 核心服务方法 service(HttpServletRequest,HttpServletSesponse) (2).配置 配置对外访问路径 url-pattern 4.跳转:一个Servlet到另外一个Servlet的过程 方式:forward 请求转发:服务器内部的请求转发,客户端感知不到 一次请求 地址栏不变 可以使用request作用域传递数据 redirect 重定向:借助于客户端重新发送请求到目标资源 两次请求 地址栏发生变化 不能使用request作用域 语法:reques.getRequestDispatcher("目标Servlet url-pattern").forward(request,response);【把原始的请求响应传过去】 response.sendRedirect("/项目名/资源路径 url-pattern"); 5.开发模式 Servlet 负责接收数据: request.getParameter();-->String类型 多次数据需要多次调用,手工转化,类型转换 Servlet调用业务: 调用业务实现类对象 调用业务方法即可 Servlet负责响应式打印页面: 设置响应类型:response.setContentType("tetx/html;setChar=utf-8"); 设置编码格式:response.setCharacterEncoding("utf-8"); 获取页面输出流:printWriter out=response.getWriter();//字符过滤输出流 响应数据:out.print("资源"); 关闭资源:out.close(); 6. Filter过滤器: 作用:用于抽取多个Servlet中的共同代码 目的:提高开发效率。减少冗余代码提高代码的可维护性 编码过滤器:编码设置 Session过滤器:登录验证 开发步骤: 1、写类 implements Filter 覆盖核心方法 doFilter 用来存放共有代码 放行:filterChain.doFilter(request,response) 2.配置过滤器要过滤的Servlet <filter><filter-name><filter-class> <filter-mapping><filter-name><url-pattern> 过滤细节: 1.过滤单个Servlet直接书写目标Servlet的url-pattern 2.过滤全部 /※ 3.过滤部分 a、二级目录 b、书写多个url-pattern指定要过滤的访问路径 4.过滤响应 先让响应通过 过滤器中先书写放行代码,共有代码放在响应之后 5.中断请求 a.不能调用filterChain.doFilter(); b.提供一个跳转路径,完成跳转,比如:跳转到错误提示页面
URN = Universal Resource Name 统一资源名称,通过特定命名空间中的唯一名称或ID来标识资源。
4、Jsp
1.jsp是java服务页面,动态实现展示数据,动数据 2.基础语法: (1)脚本:<%=%> 输出脚本 <%!%>声明脚本 <%%>普通脚本 脚本与脚本之间不能嵌套,与标签之间不能嵌套,可读性差,复杂 (2)指令:poge taglib include page:对页面的一些设置 属性: contentType="text/html;setChar=utf-8"设置响应类型,和响应编码 pageEconding="utf-8" 设置jsp页面翻译成java以及编译为clss文件的编码设置 language="java" isELIgnored="false"不忽略EL表达式 import=""导包 session="true" 有则用,没有新建 false:有则用没有不用 errorPage="/xxx/xxx.jsp":指定当前页面出现异常后要跳转的页面 iserrorPage="true"能被跳:当前页面是不是错误页面(能不能被当前页面当成错误页面) include:可以将多张页面整合到一张,把多张页面的源代码整合到当前页面中 静态包含 taglib:引入外键标签库使用<%@taglib uri="资源标识符" prefix="别名"> (3)动作: include 包含动作 将多张页面整合为一张页面,将多张页面的输出流直接响应到客户端 (4)内置对象: request response session application, pageContext out page Exception,config 3.高级语法: el: El表达式:从作用于中获取数据并展示 ${命名属性的名字} 从作用于中一次查找,从小到大 pageContext-->request-->response-->application ${作用于.命名属性的名字}如:${pageContext.xxx} jstl标签库:遍历 判断,和EL配合展示数据 5个字库:core[核心标签库] sql fmt【数据转换】 xml 函数库 1.需要依赖 jar包 2.使用taglib指令引入标签库中的某个子库<%@taglib prefix="c"%> 核心标签:<c:if test="判断条件"> <c:forEach var="当前元素名" item="要遍历的数组和集合"> 常用语法:动态获取应用名 ${pageContext.request.ContextPath}
5、Struts2
1.Struts2 MVC模式中C层中的框架 a、框架:半成品,解决的是通用问题 简化开发 提高升开发效率 开发模式:框架+特有业务逻辑=应用 b、MVC编程思想,认为划分为三个层次 M层:模型层 entity+dao+service完成 V层: jsp+html页面 C层:Controller Servlet/Struts2 控制层 2.Struts2框架 替换Servlet充当程序控制器 两种开发方式 区别:需不需要强制覆盖execute() 第一种:类 implements Action 覆盖服务方法 execute() //接收数据 调用业务 跳转页面 第二种:类 extends ActionSupport 覆盖服务方法execute() //接收数据 调用业务 跳转页面 3.Struts2配置: //必须有管理Action标签 <package name="随意,包名唯一" extends="固定值 struts-default" namespace="/包名"> <action name="action的访问路径" class="action的全限定名"> <result name="action中的返回值">跳转的目标位置</result> </action> </package> 4.工具类 ServletActionContext 用于获取请求和响应对象 主要获取作用域 ServletActionContext.getRequest().getSession();获取Session对象 5.Servlet的跳转 基本跳转 Action-->Action forward:chain redirect:redirectAction Actioin-->jsp forward:dispatcher redirect:redirect 6.成员变量的作用 (1).接收Client的请求参数 a.提供成员变量 (2).替换request作用域传递数据 b.提供相同类型数据相同的成员变量 使用成员变量存储要传递的数据 值栈:root/contentMap 成员变量的作用: 1.接收Client的请求参数 2.替换request作用域传递数据 Web应用程序中作用域 3个 购物车数据 在Session销毁时会持久化到数据库中 Request 一次请求有效 Response 一个浏览器有效 一次会话有效 ServletContext 一个项目有效