自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(107)
  • 论坛 (8)

原创 spring事务操作声明式事务管理参数配置)

1.propagationo 事务的传播行为2.事务隔离级别下面是代码示例:package cn.zsp.spring5.service;import cn.zsp.spring5.dao.UserDao;import cn.zsp.spring5.dao.UserDaoImpl;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Se.

2020-08-31 23:15:40 28

原创 Spring事务管理---声明式事务管理的使用

下面是步骤:图是引用的,侵删:接下去是我写的代码:<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/sch.

2020-08-31 21:46:06 36

原创 spring之JdbcTemplate实现批量增删改操作

前面的配置文件一样,我这里只写批量增删改:实现增加删除修改功能只要理解下面这个方法就可以了:这是我service层添加的代码:batchAddBook batchUpdateBook batchDeleteBook package cn.zsp.spring5.service;import cn.zsp.spring5.dao.BookDao;import cn.zsp.spring5.entity.Book;import org.springframework.beans.factor

2020-08-31 17:07:18 29

原创 spring之JdbcTemplate实现查询值对象集合

前面的配置我就不写了,跟我这篇文章一样:实现增加删除修改功能代码如下:这是dao层接口:package cn.zsp.spring5.dao;import cn.zsp.spring5.entity.Book;import java.util.List;public interface BookDao { public void add(Book book); void update(Book book); void deleteById(Inte

2020-08-31 14:55:12 29

原创 spring之JdbcTemplate实现增加删除修改功能

说白了就是用spring操作数据库,要记得导入组件扫描:代码如下:<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.o

2020-08-31 14:27:57 38

原创 AOP操作AspectJ注解实现增强功能---补充完全注解开发

原本在这,我这里不像写xml配置文件,所以这里我们用完全注解开发。https://blog.csdn.net/qq_42388853/article/details/108311490这里需要改的只有配置文件xml换成java文件:package cn.zsp.spring5.config;import org.springframework.context.annotation.ComponentScan;import org.springframework.context.annotatio

2020-08-30 23:10:31 21

原创 AOP操作AspectJ注解实现增强功能

先在xml文件里配置上aop和context,用context来开启注解扫描,aop生成增强对象<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.spring

2020-08-30 21:41:04 40

原创 AOP底层代码---JDK动态代理有接口的类

其实这个没什么说的,因为在javase的时候就有学过,这是我当时学javase的时候学的proxy动态代理当时觉得很麻烦但是今天看下spring这个底层源码觉得莫名熟悉https://blog.csdn.net/qq_42388853/article/details/107775308编写JDK动态代理代码,有接口的动态代理:先写个接口:package cn.zsp.spring5;public interface UserDao { public int add(int a,int

2020-08-30 18:23:55 36

原创 spring完全注解开发

前面创造的类都一样除了不要xml配置文件一样的就不写了:这是代替xml的配置文件,用到了@Configuration还有@ComponentScan(basePackages = {“cn.zsp”})链接:https://blog.csdn.net/qq_42388853/article/details/108305350package cn.zsp.spring5.config;import org.springframework.context.annotation.ComponentSc

2020-08-30 14:51:59 73

原创 基于注解方式实现属性注入

先了解下四个属性@Autowired:根据属性类型进行自动装配@Qualifier:根据属性名称进行注入@Resource:可以根据类型注入,可以根据名称注入。@Value:注入普通类型属性这里的属性注入和xml配置注入不一样,可以不用写set方法。这是xml文件:<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xm

2020-08-30 14:33:24 39

原创 spring基于注解方式实现对象的注入

1、什么是注解(1)注解是代码特殊标记,格式:@注解名称(属性名称=属性值,属性名称=属性值…)(2)使用注解,注解作用在类上面,方法上面,属性上面·(3)使用注解目的:简化xml配置2、Spring针对Bean管理中创建对象提供注解(1) @Component.(2)@Serviceu(3) @Controller(4)@Repository第一步引入依赖·第二步开启组件扫描·第三步创建类,在类上面添加创建对象注解<?xml version="1.0" encoding="U

2020-08-30 13:11:42 42

原创 在spring配置文件使用标签引入外部属性文件

在spring配置文件使用标签引入外部属性文件1先在外面写properties配置文件:prop.driverClassName=com.mysql.jdbc.Driverprop.url=jdbc:mysql://localhost:3306/bookprop.username=rootprop.password=1234562然后写xml配置文件,记得先写context名称空间:这是名称空间代码,接下去是xml全部代码: xmlns:context="http://www.s

2020-08-30 11:57:15 46

原创 spring的xml自动装配

IOC操作Bean管理(xml自动装配)最重要的配置文件:<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org

2020-08-30 11:28:23 29

原创 bean的生命周期(含后置处理器)

bean的生命周期我们先讲不含后置处理器的:(1)通过构造器创建bean实例(无参数构造)(2)为bean的属性设置值和对其他bean引用(调用set方法)(3)调用bean的初始化的方法(需要进行配置初始化的方法)。(4) bean可以使用了对象获取到了).(5)当容器关闭时候,调用bean的销毁的方法(需要进行配置销毁的方法)先创建一个我们要调用的bean 然后我会在各个步骤上进行输出。package cn.zsp.spring5.bean;public class Order {

2020-08-30 01:47:58 33

原创 普通bean和工厂bean

普通bean:就是我们正常导入的那种方法。工厂bean:就定义的bean可以跟返回的bean不一样。1、Spring有两种类型bean,一种普通bean,另外一种工厂bean (EactoryBean)2、普通bean:在配置文件中定义bean类型就是返回类型。3、工厂bean:在配置文件定义bean类型可以和返回类型不一样。第一步创建类,让这个类作为工厂bean,实现接口FactoryBean-第二步实现接口里面的方法,在实现的方法中定义返回的bean类型。测试类: public voi

2020-08-29 20:35:12 77

原创 springIOC操作xml注入集合

springIOC操作xml注入集合1、注入数组类型属性2、注入List集合类型属性工3、注入Map集合类型属性我们用到的要注入的类:package cn.zsp.spring5.collectiontype;import java.util.Arrays;import java.util.List;import java.util.Map;import java.util.Set;public class Stu { private String arr[]; pr

2020-08-29 12:57:25 18

原创 spring内部bean和级联注入属性

这里内部bean提供一种方法,级联注入提供两种方法:首先我们创建个员工类:package cn.zsp.spring5.bean;public class Emp { private String ename; private String gender; private Dept dept; public Dept getDept() { return dept; } public void setDept(Dept dept)

2020-08-29 12:02:18 31

原创 注入属性-外部beanu

注入属性-外部beanu(1)创建两个类service类和dao类,(2)在service 调用dao里面的方法s(3)在spring配置文件中进行配置这是我写的dao层接口:package cn.zsp.spring5.dao;public interface UserDao { public void update();}dao层的实现类:package cn.zsp.spring5.dao;public class UserDaoImpl implement

2020-08-28 17:47:53 41

原创 spring框架里的xml注解

一、基于xml配置文件方式实现:第一种注入万式:使用set万法进行注入(2)在spring配置文件配置对象创建,配置属性注入第二种注入方式:使用有参数构造进行注入使用xml注入特殊值 例如null或者大小尖括号这是今天的重点xml配置文件:<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http:

2020-08-28 17:20:57 26

原创 初入spring框架

没什么说的,这个比较简单自己建个java然后导入spring的四个包还有commons-logging-1.1.1.jar然后在配置文件里写<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schema

2020-08-28 11:22:19 31

原创 学习博客:IOC如何降低了代码之间的耦合度

IOC如何降低了代码之间的耦合度从传统方式到IOC一步步解耦第一步转变 直接new对象---->面向接口编程最开始我们创建一个对象是采取new对象的方式,但这样不可以实现多态,比如我创建一个person对象,里面有一个eat(Apple apple)方法,那么调用这个eat方法的类,需要传入苹果(Apple)对象,之后我的这个方法改成吃梨子了,这个方法又改成eat(Pear pear)了,调用eat方法的类,又需要把之前的苹果改成梨子,扩展性差,于是出现了面向接口编程,我在eat方法里面传入水果

2020-08-28 11:20:21 23

原创 使用AJAX修改把商品添加到购物车

使用AJAX修改把商品添加到购物车protected void ajaxAddItem(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {// 获取请求的参数商品编号 int id = WebUtils.parseInt(req.getParameter("id"),0);// 调用bookService.queryBookById(

2020-08-26 18:14:28 73

原创 使用AJAX验证用户名是否可用

jsp里: <script type="text/javascript"> $(function () { $("#username").blur(function () { var username=this.value; $.getJSON("http://localhost:8080/book_03/userServlet", "action=ajaxUsernameExist&username="+username, function (m

2020-08-26 18:11:38 42

原创 Ajax表单序列化serialize

Ajax表单序列化serialize这里servlet先准备个方法: protected void jquerySerialize(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { req.setCharacterEncoding("UTF-8"); resp.setContentType("text/html; charset=UTF-8");

2020-08-26 16:31:55 45

原创 jQuery中的AJAX请求

jQuery中的AJAX请求S.ajax方法表示请求的地址url表示请求的类型GET或 POST请求type表示发送给服务器的数据data格式有两种:-: name=value&name=value二:{key: value}请求成功,响应的回调函数success响应的数据类型dataType常用的数据类型有:text表示纯文本xml表示xml数据json表示json对象.get方法和.get方法和.get方法和.post方法s.get方法和s.post方法

2020-08-26 16:15:53 23

原创 原生AJAX请求的示例

先准备一个servlet来接受ajax请求package cn.zsp.servlet;import cn.zsp.pojo.Person;import com.google.gson.Gson;import javax.servlet.ServletException;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import java.io.IOExc

2020-08-25 22:33:43 22

原创 JSON在java 中的使用---Map和json的互转

这里用匿名内部类转换回来比较方便public void test3() { Map<Integer,Person> map=new HashMap<Integer, Person>(); map.put(1,new Person(1,"鹏哥")); map.put(2,new Person(2,"鹏哥哥")); Gson gson =new Gson(); String s = gson.toJson(map);// System.

2020-08-25 20:13:49 26

原创 JSON在java 中的使用---List和json的互转

转换过去没什么问题,转化回来需要去写个类继承token:public void test2() { List<Person> personList =new ArrayList<Person>(); personList.add(new Person(1,"鹏锅锅")); personList.add(new Person(2,"鹏哥")); Gson gson =new Gson(); String

2020-08-25 20:00:01 24

原创 JSON在java 中的使用---javaBean和json的互转

JSON在java 中的使用package cn.zsp.json;import cn.zsp.pojo.Person;import com.google.gson.Gson;import org.junit.Test;public class JsonTest { // 1javaBean和json的互转 @Test public void test1(){ Person person = new Person(1,"鹏哥");

2020-08-25 19:34:33 35

原创 学习博客:JSON在客户端中的使用

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html> <head> <meta http-equiv="pragma" content="no-cache" /> <meta http-equiv="cache-control" content="no-cache" />

2020-08-25 18:51:20 59

原创 使用Tomcat统—管理异常

使用Tomcat统—管理异常在这里插入代码片首先先写一个页面,然后到xml里面配置即可。<?xml version="1.0" encoding="UTF-8"?><web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.o

2020-08-25 17:43:25 52

原创 使用filter过滤器来处理事务安全问题

这里其实是对上一篇文章的改进:https://blog.csdn.net/qq_42388853/article/details/108219399这里的话我把写的filter贴出来,需要注意是因为我们这里用filter捕获所以其他地方自己捕获异常的,需要把异常抛出来,否则回滚可能捕获不到。这是TransactionFilter :package cn.zsp.filter;import cn.zsp.utils.JdbcUtils;import javax.servlet.*;import

2020-08-25 14:18:23 26

原创 使用ThreadLocal事务保证线程安全

使用ThreadLocal事务保证线程安全1.首先先把jdbcUtils的获取连接方法和关闭方法改成由ThreadLocal控制,2.然后再去dao层把BaseDao的关闭连接给去除,然后dao层的异常要往外抛,不然出错了也没办法rollback。3.去最高层的要用到事务判断功能的地方使用try 提交 catch回滚功能。这是jdbcUtils:package cn.zsp.utils;import com.alibaba.druid.pool.DruidDataSourceFactory;

2020-08-25 14:14:31 53

原创 线程安全问题举例学习Threadlocal

import java.util.HashMap;import java.util.Map;import java.util.Random;public class ThreadLocalTest { public static Map<String,Object> data = new HashMap<>(); private static Random random = new Random(); public static class Tas

2020-08-24 18:37:40 45

原创 学习博客:Filter过滤器的使用

Filter过滤器的使用步骤:1、编写一个类去实现Filter接口2、实现过滤方法doFilter()3、到web.xml中去配置Filter的拦截路径这是登陆页面:<%-- Created by IntelliJ IDEA. User: Administrator Date: 2020/8/23 Time: 21:10 To change this template use File | Settings | File Templates.--%><%@

2020-08-24 11:33:33 34

原创 学习博客:解决响应乱码

老忘记,所以发个博客来记录下在servlet里面使用resp.setContentType( “text/html; charset=UTF-8”)﹔

2020-08-24 11:25:15 11

原创 学习博客:实现修改购物车数量功能

首先在servlet里面增加方法updateItem: protected void updateItem(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { int id =WebUtils.parseInt(req.getParameter("id"),0); int count =WebUtils.parseInt(req.getParame

2020-08-23 12:36:21 42

原创 学习博客:使用session实现购物车功能

由于我们实现的方法是使用的session所以我们这里只需要 编写每一行的表单信息,还有总体的购物车信息:用来保存每一行表单信息的类:package cn.zsp.pojo;import java.math.BigDecimal;/** *购物车的商品项 */public class CartItem {// 购物车CartItem// 商品编号// id private Integer id;//

2020-08-22 22:15:27 23

原创 学习博客:实现验证码刷新且不被浏览器内存阻止

这个东西本质上就是把每次请求验证码的名字稍微换一下,我这里采用的是加入时间让每次请求验证码的名字都不一样从而不会被浏览器缓存所阻止。$("#code_img").click(function () { // 在事件响应的function函数中有一个this对象。这个this对象,是当前正在响应事件的dom对象 // src属性表示验证码img标签的图片路径。它可读,可写 this.src="${basePath}kaptcha.jpg?d="+new Date(); });.

2020-08-22 16:46:29 25

原创 学习博客:实现验证码登陆防止表单重复提交问题

记得要先导入jar包,mykaptcha-2.3.2.jar,先写个随便点表单然后用img标签使用验证码:src=“http://localhost:8080/tmp_war_exploded/kaptcha.jpg” style=“width: 80px;height: 30px”><%-- Created by IntelliJ IDEA. User: Administrator Date: 2020/8/22 Time: 13:26 To change this

2020-08-22 16:23:53 31

空空如也

重写ribbon轮询底层方法的疑惑

发表于 2020-10-09 最后回复 2020-10-09

关于集中式LB和进程内LB区别

发表于 2020-10-09 最后回复 2020-10-09

druid线程池会自动设置线程为提交吗?

发表于 2020-08-25 最后回复 2020-08-25

关于德鲁伊连接池链接获取问题

发表于 2020-08-14 最后回复 2020-08-14

为什么单个字节和字节数组还有缓冲区的读写没有区别。。。

发表于 2020-07-26 最后回复 2020-08-09

问个html的LocalStorage储存问题

发表于 2019-04-24 最后回复 2020-08-09

一个判断语句看不是很懂,求用if重写下这个

发表于 2020-07-22 最后回复 2020-07-26

关于继承的一些疑问

发表于 2020-07-15 最后回复 2020-07-17

空空如也
提示
确定要删除当前文章?
取消 删除