导图社区 jsp,Servlet,jquery,mybatis
jsp,Servlet,jquery,mybatis的基本的知识点。JSP是由Sun Microsystems公司主导创建的一种动态网页技术标准。Java Servlet 是运行在 Web 服务器或应用服务器上的程序,它是作为来自 Web 浏览器或其他 HTTP 客户端的请求和 HTTP 服务器上的数据库或应用程序之间的中间层。
编辑于2021-06-07 15:25:57jsp,Servlet,jquery,mybatis的基本的知识点。JSP是由Sun Microsystems公司主导创建的一种动态网页技术标准。Java Servlet 是运行在 Web 服务器或应用服务器上的程序,它是作为来自 Web 浏览器或其他 HTTP 客户端的请求和 HTTP 服务器上的数据库或应用程序之间的中间层。
Java Servlet 是运行在 Web 服务器或应用服务器上的程序,它是作为来自 Web 浏览器或其他 HTTP 客户端的请求和 HTTP 服务器上的数据库或应用程序之间的中间层。使用 Servlet,您可以收集来自网页表单的用户输入,呈现来自数据库或者其他源的记录,还可以动态创建网页。
社区模板帮助中心,点此进入>>
jsp,Servlet,jquery,mybatis的基本的知识点。JSP是由Sun Microsystems公司主导创建的一种动态网页技术标准。Java Servlet 是运行在 Web 服务器或应用服务器上的程序,它是作为来自 Web 浏览器或其他 HTTP 客户端的请求和 HTTP 服务器上的数据库或应用程序之间的中间层。
Java Servlet 是运行在 Web 服务器或应用服务器上的程序,它是作为来自 Web 浏览器或其他 HTTP 客户端的请求和 HTTP 服务器上的数据库或应用程序之间的中间层。使用 Servlet,您可以收集来自网页表单的用户输入,呈现来自数据库或者其他源的记录,还可以动态创建网页。
jsp,Servlet,jquery,mybatis
Selvlet
配置文件
<servlet/>部分
<servlet-name>起名字
<servlet-class>(Servlet程序)包名+类名
<load-on-startup>默认效果,正整数,值小优先级高
<int-param>一个初始化参数
<servlet-mapping/>部分
<servlet-name>需同上名字
<servlet-pattern>访问路径
<context-param>配置全局参数
<param-name>
<param-value>
Servlet程序
作用
1.运行在服务器的Java程序
2.能接收和响应客户端的需求
生命周期
创建int()
服务service()
移除destroy()
Servlet定义类
Servlet接口
Generic Servlet实现类 实现Servlet接口
HTTPServlet 继承GenerikServlet类
ServletConfig配置类
作用:读取配置初始化参数
域对象ServletContext类
简介:一个WEB项目只有一个ServletContext对象
可以在不同Servlet间传递数值
读取资源文件
getResourceAsStream()
getRealPath()
开发步骤
1.编写类继承HTTPServlet
ServletRequset(): Servlet容器对于接受到的每一个Http请求,都会创建一个ServletRequest对象,并把这个对象传递给Servlet的Sevice( )方法
ServletResponse():在调用Servlet的Service( )方法前,Servlet容器会先创建一个ServletResponse对象,并把它作为第二个参数传给Service( )方法。ServletResponse隐藏了向浏览器发送响应的复杂过程。
2.重写doGet() 和doPost()方法
特点:可以在Servlet中重写dopost和doget方法来响应用户的请求这样可以增加响应的灵活性,并降低服务器的负担
3.在web.xml中配置文件
mybatis
简介
它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。
配置文件
搭建环境
创建一个普通的maven项目
删除src目录 (就可以把此工程当做父工程了,然后创建子工程)
导入maven依赖
创建一个Module
主配置文件
<configuration> <environments default="development"> <environment id="development"> <transactionManager type="JDBC"/> <dataSource type="POOLED"> <property name="driver" value="com.mysql.cj.jdbc.Driver"/> <property name="url" value="jdbc:mysql://localhost:3306/mybatis?userSSL=true&useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC"/> <property name="username" value="root"/> <property name="password" value="root"/> </dataSource> </environment> </environments> </configuration>
mybatis 程序
命名空间
映射文件中namespace 表示命名空间作用就是对sql进行分类化管理,理解为sql隔离.( 同一命名空间下ID不能重复)
<mapper namespace="com.panshi.domain.Student"> <select id="query"/> </mapper>
resultMap
如果查询出来的列名和vo的属性名不一致,通过定义一个resultMap对列名和vo属性名之间作一个映射关
1. <resultMap id="base_resultmap" type="com.panshi.domain.Student"> 2. <!-- 3. id 表示主键列 4. result 表示其它列 5. column 表示SQL查询出来的列 6. property 表示pojo对应的属性 7. --> 8. <id column = "stu_id" property = "id"/> 9. <result column = "stu_name" property = "name"/> 10. <result column = "stu_age" property = "age"/> 11. </resultMap>
优点
o resultMap 可以定义多个, 选择使用 o 统一配置映射关系,减少别名使用
typeAliases 类型别名
typeAlias用于配置别名。type属性指定的是实体类全限定类名。alias属性指定别名,当指定了别名就再区分大小写。
1. <typeAliases> 2. <typeAlias alias="student" type="com.panshi.vo.Student"/> 3. <typeAlias alias="user" type="com.panshi.vo.User"/> 4. </typeAliases>
动态SQL
标签
o if o choose (when, otherwise) o where, set o foreach o sql
sql片段
映射文件中,可以将共同部分的SQL抽取出来,形成一个sql片段,供重复使用
mybatis中的多表查询
一对一
1. <!—实现查询学生信息时,也要查询学生所对应的电脑信息--> 1. SELECT 2. * 3. FROM stu,computer c 4. WHERE stu.sid = c.sid
一对多
<!-- 查询用户关联及用户下的账户--> SELECT a.*,u.id , u.username, u.birthday, u.sex, u.address FROM USER u LEFT JOIN account a ON u.id = a.uid
延时加载
简介
什么是延迟加载: 在真正使用关联表数据时才发起查询,不用的时候不查询。按需加载(懒加载) 先从单表查询、需要时再从关联表去关联查询,大大提高数据库性能,因为查询单表要比关联查询多张表速度要快 resultMap可以实现高级映射(使用association、collection实现一对一及一对多映射),association、collection具备延迟加载功能。 一对多:通常情况下我们都是采用延迟加载。 多对一,一对一:通常情况下我们都是采用立即加载。
如何使用
1. <settings> 2. <!-- 打开延迟加载 的开关 --> 3. <setting name="lazyLoadingEnabled" value="true"/> 4. <!-- 将积极加载改为消极加载即按需要加载 --> 5. <setting name="aggressiveLazyLoading" value="false"/> 6. </settings>
缓存机制
简介
优点
减少和数据库的交互次数,提高执行效率。
用于减轻数据压力,提高数据库性能。如果缓存中有数据就不用从数据库中获取,大大提高系统性能
缺点
经常改变的数据 数据的正确与否对最终结果影响很大的。 例如:银行钱,汇率
使用
一级缓存(SqlSession 级别缓存)
一级缓存是SqlSession级别的缓存。在操作数据库时需要构造sqlSession对象,在对象中有一个数据结构(HashMap)用于存储缓存数据。不同的sqlSession之间的缓存数据区域(HashMap)是互相不影响的。
二级缓存(SqlSessionFactory级别缓存)
1. <settings> 2. <setting name="cacheEnabled" value="true"/> 3. </settings> · 第二步:mapper 中开启缓存 4. <mapper namespace="com.panshi.mybatis.mapper.UserMapper"> 5. <!-- 开启本mapper的namespace下的二级缓存--> 6. <cache /> 7. 8. ... 9. </mapper>
代理模式
简介
提供了对目标对象另外的访问方式;即通过代理,可以在目标对象实现的基础上,增强额外的功能操作,即扩展目标对象的功能。 简单说即是在 不改变源代码的情况下,实现对目标对象的功能扩展。在我们实际的开发过程中,不要随意去修改别人已经写好的 代码或者方法,如果需改修改,可以通过代理的方式来扩展该方法
优点
在不动源代码的情况下可以对模块的功能进行拓展
JS and JQUERY
js
简介
JavaScript是目前web开发中不可缺少的脚本语言,js不需要编译即可运行,运行在客户端,需要通过浏览器来解析执行JavaScript代码。诞生于1995年,当时的主要目的是验证表单的数据是否合法。
js组成部分
ECMA Script:构成了js核心语法基础
BOM:Browser Object Model 浏览器对象模型,用来操作浏览器上的对象
DOM: Documet Object Model 文档对象模型,用来操作网页中的元素
基本语法
数据类型
数值型:number(凡是数字都是数值型,不区分整数和小数)
字符串:string(凡是引号包裹起来的内容全部都是字符串)
布尔:boolean(true、false
对象类型:object(特殊取值null)
未定义型:undefined
变量
var
let
AJAX and json
同步
* (同步)客户端必须等待服务器端的响应。在等待的期间客户端不能做其他操作。
异步
* (异步)客户端不需要等待服务器端的响应。在服务器处理请求的过程中,客户端可以进行其他的操作。
jquey
简介
jQuery是一个快速、简洁的JavaScript框架,是继Prototype之后又一个优秀的JavaScript代码库(或JavaScript框架)。jQuery设计的宗旨是“write Less,Do More”,即倡导写更少的代码,做更多的事情。它封装JavaScript常用的功能代码,提供一种简便的JavaScript设计模式,优化HTML文档操作、事件处理、动画设计和Ajax交互。
基本语法
$("")
jsp
介绍
简介
JSP(Java Server Pages)是JavaWeb服务器端的动态资源,它与html页面的作用是相同的,显示数据和获取数据
特点
1.jSP = HTML + Servlet
2.JSP可以让我们以编写HTML的方式去编写Servlet
3. JSP就是一个披着HTML外衣的Servlet,酷似HTML,但本质是一个Servlet
4.JSP是不能脱离服务器(Servlet容器)运行的
原理
当jsp页面第一次被访问时,服务器会把jsp编译成java文件
然后再把java编译成.class
然后创建该类对象
最后调用它的service()方法
第二次请求同一jsp时,直接调用service()方法。
关键字
九大内置对象
out(JspWriter):等同与response.getWriter(),用来向客户端发送文本数据;
config(ServletConfig):对应“真身”中的ServletConfig
page(当前JSP的真身类型):当前JSP页面的“this”,即当前对象,引用为Object类型
pageContext(PageContext):页面上下文对象,它是最后一个没讲的域对象;
exception(Throwable):只有在错误页面中可以使用这个对象
request(HttpServletRequest):即HttpServletRequest类的对象
response(HttpServletResponse):即HttpServletResponse类的对象
application(ServletContext):即ServletContext类的对象;
session(HttpSession):即HttpSession类的对象,不是每个JSP页面中都可以使用,如果在某个JSP页面中设置<%@page session=”false”%>,说明这个页面不能使用session。
标签
<%…%>:写java代码片段,(类似方法)
<%=…%>:用于输出,用于输出一条表达式(或变量)的结果。
<%!…%>:声明,用来创建类的成员变量和成员方法(类似与类)
当服务器把jsp编译成java文件时已经忽略了注释部分!