当前位置: 首页 > news >正文

做网站后期费用/全媒体运营师培训费用

做网站后期费用,全媒体运营师培训费用,无锡网站设计无锡网站建设,电子商务网站建设课程重点 1.JavaBean的概念  就是一个普通类(实体bean),包含三样标准:  一个无参构造  私有属性  公共的getter和setter方法 2.MVC设计模式  M:Model模型【JavaBean】  V:View视图 【JSP】  C&a…

重点

1.JavaBean的概念

 就是一个普通类(实体bean),包含三样标准:
 一个无参构造
 私有属性
 公共的getter和setter方法

2.MVC设计模式

 M:Model模型【JavaBean】
 V:View视图 【JSP】
 C:Controller控制器 【Servlet】

3.分层思想

web层(表示层)、service层(业务层)、dao层(数据访问层)

图示:
在这里插入图片描述

4.MySQL事务

4.1 概念

事务指逻辑上的一组操作,组成这组操作的各个单元,要么全部成功,要么全部不成功。一般超过两条以上的sql操作,建议使用事务,保证数据的安全。

4.2 使用事务

**场景一:**windows命令行

 start transaction 开启事务
 Rollback 回滚事务
 Commit 提交事务

**场景二:**JDBC使用事务
前提:需要Connection对象

Connection.setAutoCommit(false);start transaction
Connection.rollback(); rollback
Connection.commit(); commit

4.3事务的隔离级别

分类:

赃读:指一个事务读取了另一个事务未提交的数据。
不可重复读:在一个事务内读取表中的某一行数据,多次读取结果不同。一个事务读取到了另一个事务提交后的数据。(update)
虚读(幻读):是指在一个事务内读取到了别的事务插入的数据,导致前后读取不一致。 (insert)

数据库通过设置事务的隔离级别防止以上情况的发生:

  • 1、READ UNCOMMITTED: 赃读、不可重复读、虚读都有可能发生。
    2、READ COMMITTED: 避免赃读。不可重复读、虚读都有可能发生。(oracle默认的)
    4、REPEATABLE READ:避免赃读、不可重复读。虚读有可能发生。(mysql默认)
    8、SERIALIZABLE: 避免赃读、不可重复读、虚读。
    级别越高,性能越低,数据越安全

mysql中查看当前的事务隔离级别:

select @@tx_isolation; (低版本的mysql)
select @@transaction_isolation;(高版本的mysql,如我的8.0.12)

mysql中更改当前的事务隔离级别:
set transaction isolation level REPEATABLE READ;

5.数据库连接池

5.1常用的数据库连接池

DBCP:是java数据库连接池的一种,由Apache开发,通过数据库连接池,可以让程序自动管理数据库连接的释放和断开。
C3P0:是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。目前使用它的开源项目有Hibernate,Spring等。

5.2使用方法

DBCP使用

  1. 添加jar包 commons-dbcp-1.4.jar commons-pool-1.5.6.jar
  2. 添加属性资源文件
driverClassName=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/day12
username=root
password=root#<!-- 初始化连接 -->
initialSize=10
#最大连接数量
maxActive=50
#<!-- 最大空闲连接 -->
maxIdle=20
#<!-- 最小空闲连接 -->
minIdle=5
#<!-- 超时等待时间以毫秒为单位 6000毫秒/1000等于60-->
maxWait=60000#JDBC驱动建立连接时附带的连接属性属性的格式必须为这样:[属性名=property;] 
#注意:"user""password" 两个属性会被明确地传递,因此这里不需要包含他们。
connectionProperties=useUnicode=true;characterEncoding=utf8#指定由连接池所创建的连接的自动提交(auto-commit)状态。
defaultAutoCommit=true#driver default 指定由连接池所创建的连接的只读(read-only)状态。
#如果没有设置该值,则“setReadOnly”方法将不被调用。(某些驱动并不支持只读模式,如:Informix)
defaultReadOnly=#driver default 指定由连接池所创建的连接的事务级别(TransactionIsolation)。
#可用值为下列之一:(详情可见javadoc。)NONE,READ_UNCOMMITTED, READ_COMMITTED, REPEATABLE_READ, SERIALIZABLE
defaultTransactionIsolation=REPEATABLE_READ

在这里插入图片描述
C3P0的使用

  1. 添加jar包
  2. 编写配置文件c3p0-config.xml(不能更改),放在classpath中,或classes目录中
<?xml version="1.0" encoding="UTF-8"?>
<c3p0-config><default-config><property name="driverClass">com.mysql.jdbc.Driver</property><property name="jdbcUrl">jdbc:mysql://localhost:3306/day12</property><property name="user">root</property><property name="password">123456</property><property name="initialPoolSize">10</property><property name="maxIdleTime">30</property><property name="maxPoolSize">100</property><property name="minPoolSize">10</property></default-config>
</c3p0-config>

编写工具类:
在这里插入图片描述

6.JNDI

6.1JNDI概念

 JNDI(Java Naming and Directory Interface)是一个应用程序设计的API
 为开发人员提供了查找和访问各种命名和目录服务的通用、统一的接口
 类似JDBC都是构建在抽象层上。
 现在JNDI已经成为J2EE的标准之一,所有的J2EE容器都必须提供一个JNDI的服务。

6.2 Tomcat中配置JNDI 数据源

 开发JavaWeb应用,必须使用一个JavaWeb服务器,JavaWeb服务器都内置数据源。这种配置就是JDNI
 Tomcat 内置了数据源就是:(DBCP),所以数据源只需要配置服务器即可。

使用步骤:
Step1:拷贝数据库连接驱动的jar到tomcat的lib目录下(注意驱动版本)
Step2:配置数据源XML文件(在当前应用的META-INF中创建context.xml, 编写数据源)
注:多个数据源的配置(声明多个Resource即可)

<?xml version="1.0" encoding="UTF-8"?>
<Context><Resource name="jdbc/day12DB"auth="Container"type="javax.sql.DataSource"username="root"password="123456"driverClassName="com.mysql.jdbc.Driver"url="jdbc:mysql://localhost:3306/day12"maxTotal="8"maxIdle="4"/>
</Context>

Step3:使用连接池
在这里插入图片描述

练习题

1.登录注册注销案例

重点掌握:

  • MVC的开发模式
  • 一般的开发顺序是:dao-daoImpl-service-serviceImpl-servlet-jsp,他们之间是通过model传递数据的
  • 登录表单验证:
public class UserForm {private String username;private String password;private String repassword;private String email;private String birthday;Map<String, String> err = new HashMap<String,String>();//正则校验/*** username : 用户名长度要在5~15* password : 密码不能为空,6~9位* repassword:和password要一样* email    : 邮箱的格式不正确* birthday :日期为yyyy-MM-dd的格式*/public boolean validate() {if (username == null || username.trim().length() == 0) {err.put("username", "用户名不能为空");}if (!username.matches("\\w{5,15}")) {err.put("username", "用户名长度要在5~15位");}if (password == null || password.trim().length() == 0) {err.put("password", "密码不能为空");}if (!password.matches("\\w{6,9}")) {err.put("password", "密码长度要在6~9位");}if (repassword == null || password.trim().length() == 0) {err.put("password", "密码不能为空");}if (!repassword.equals(password)) {err.put("repassword", "密码前后不一致");}if (email == null || email.trim().length() == 0) {err.put("email", "邮箱不能为空");}if (!email.matches("^\\s*\\w+(?:\\.{0,1}[\\w-]+)*@[a-zA-Z0-9]+(?:[-.][a-zA-Z0-9]+)*\\.[a-zA-Z]+\\s*$")) {//百度里搜的 邮箱的正则表达式 javaerr.put("email", "邮箱的格式不正确");}//日期的校验SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");try {sdf.parse(birthday);} catch (ParseException e) {// TODO Auto-generated catch blocke.printStackTrace();err.put("birthday", "日期的格式应为:2020-02-02");}return err.size()==0;}public String getUsername() {return username;}public void setUsername(String username) {this.username = username;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}public String getRepassword() {return repassword;}public void setRepassword(String repassword) {this.repassword = repassword;}public String getEmail() {return email;}public void setEmail(String email) {this.email = email;}public String getBirthday() {return birthday;}public void setBirthday(String birthday) {this.birthday = birthday;}public Map<String, String> getErr() {return err;}public void setErr(Map<String, String> err) {this.err = err;}}

面试题

1.事务的4大特性

原子性:指事务是一个不可分割的工作单位,事务中的操作要么都发生,要么都不发生。
一致性:事务必须使数据库从一个一致性状态变换到另外一个一致性状态。转账前和转账后的总金额不变。
隔离性:事务的隔离性是多个用户并发访问数据库时,数据库为每一个用户开启的事务,不能被其他事务的操作数据所干扰,多个并发事务之间要相互隔离。
持久性:指一个事务一旦被提交,它对数据库中数据的改变就是永久性的,接下来即使数据库发生故障也不应该对其有任何影响。

连接池原理:

在这里插入图片描述
**目的:**解决建立数据库连接耗费资源和时间很多的问题,提高性能。

总结

通过一天的学习,熟悉了MVC的设计模式,通过分层思想,体会到了接口开发的优势,另外通过登录注册的小案例,知道了数据在前后端交互的规律,本质是封装的model对象(即Java Bean)之间的传递。会使用登录的表单验证,主要考察的是正则表达式的使用。然后,又学了MySQL的事务,知道了事务的四大特性以及隔离级别,会在windows和jdbc里面操作事务,使用事务:事务开启、回滚、提交。数据库连接池的出现,解决了建立数据库连接耗费资源和时间很多的问题,提高了性能,常用的数据库连接池有DBCP和C3P0,tomcat内置的数据源也可以用(本质是:dbcp)。万丈高楼平地起,不要怀疑自己的努力,加油!

http://www.jmfq.cn/news/4986253.html

相关文章:

  • jsp 网站开发教程/网站seo设计
  • 专业做商铺的网站/怎么样引流加微信
  • 协会门户网站建设/搜索引擎营销的步骤
  • wap网站建设/怎么样自己创建网站
  • 怎么做公司的中英文网站/互动营销是什么意思
  • 做国外订单用哪个网站/百度seo收录软件
  • 福州网站建设推广服务/彩虹云商城网站搭建
  • wordpress下载网站模板/外贸平台
  • wordpress开放平台/seo中文意思是
  • asp网站怎样做app/seo是指搜索引擎营销
  • 网站怎么登陆后台/结构优化是什么意思
  • 合肥网站推广公司/做网站公司哪家好
  • wap网站制作/站长工具seo排名查询
  • 网站备案成功后怎么办/优秀营销软文100篇
  • 女生做运营以后的发展/福州百度seo
  • jeecms/网络优化大师
  • 清远市清城区网站建设公司/无线网络优化工程师
  • 网站开发框架 c/关键词优化简易
  • 手机版网站系统/怎样做百度推广
  • 移动端网站做排名/站长统计网站统计
  • 自己做网站公司/深圳网络推广系统
  • 网站建设如何开票/网站排名怎么优化
  • 毕业设计代做网站机械/东莞做网站推广
  • 社会保险业务网站/引擎seo优
  • 厦门网站建设有限公司怎么样/网站服务器搭建
  • 国际物流东莞网站建设/百度商务合作电话
  • 医疗网站建设网站/深圳广告策划公司
  • 广州网站建设技术方案/网站免费推广网站
  • 安阳网站制作哪家好/济南seo优化公司
  • 手机网站建设的影响/百度用户服务中心电话