![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
【Java Web】
键盘上的钢琴师_v5
厚积而薄发,谋定而后动
展开
-
Java8新特性之lambda表达式
Lambda 是一个匿名函数,可以把 Lambda表达式理解为是一段可以传递的代码(将代码像数据一样进行传递)。使用Lambda可以写出更简洁、更灵活的代码,作为一种更紧凑的代码风格,使Java的语言表达能力得到了提升。下面介绍几个特点:1.替代匿名内部类毫无疑问,lambda表达式用得最多的场合就是替代匿名内部类,而实现Runnable接口是匿名内部类的经典例子。lambda表达式的功能...原创 2018-07-17 21:01:28 · 469 阅读 · 0 评论 -
Spring整合开发示例(分别与JDBC、Hibernate、Struts整合)
本文中Spring整合Hibenrate项目下所需数据库文件相关内容下载:http://download.csdn.net/detail/daijin888888/9551724本文代码示例(含详细注释、所有jar文件,可运行)下载:http://download.csdn.net/detail/daijin888888/9562121GitHub(给个星杯~):https://gith...原创 2016-06-28 17:26:27 · 2401 阅读 · 2 评论 -
Hibernate要点总结
1、什么是Hibernate 1)Hibernate是数据访问层的框架,对JDBC进行了封装,是针对数据访问层的面向对象的解决方案。 2)Hibernate允许我们直接访问对象,然后将访问自动转化为SQL去执行,从而达到间接访问数据库的目的,简化代码开发,提升开发效率。2、为什么使用Hibernate 1)使用JDBC开发出现的问题 --原创 2016-06-07 17:24:18 · 5114 阅读 · 1 评论 -
Struts2工作原理(图解)—六大核心组件关系
写在前面:Struts2主要包含前端控制器FC、Action、ValueStack容器、Result、Interceptor拦截器、Tags标签6个核心组件,本文主要介绍这几个组件的合作关系,由此构成Struts2的工作流程,以便更好地理解和使用Struts2。背景知识1、Struts2基础标签 1)用于输出的标签 --* value的值实际上是OGNL表原创 2016-05-20 14:34:44 · 10912 阅读 · 2 评论 -
Struts要点总结(下)
*1、如何获取Session 1)ActionContext获取,返回Map类型 Map session = ActionContext.getContext().getSession(); 2)ServletActionContext获取,返回HttpSession类型 HttpSession session = ServletActio原创 2016-05-31 14:20:08 · 549 阅读 · 0 评论 -
Struts要点总结(上)
1、什么是Struts? Struts是基于MVC的轻量级框架,主要处理请求分发的问题,重心在控制层和表现层。 --基于MVC:实现了MVC,满足MVC的设计思想。 --轻量:侵入性低,使我们业务代码对框架的依赖程度很小,即很少需要import Struts包。 --框架:代码的主体结构,引入之后可以减少我们的开发工作量,提高开发效率。2、为什么用S原创 2016-05-17 15:20:55 · 545 阅读 · 0 评论 -
jQuery要点总结
写在前面:本文是jQuery相关知识要点的总结,便于回顾,更加全面的讲解可参考jQuery参考手册(这里下载)或访问w3school:http://www.w3school.com.cn/1、jQuery介绍 www.jquery.com (1)jQuery是什么 是一个js框架,其主要思想是利用jQuery提供的选择器查找操作的节点,然后将找到的节点封装成原创 2016-04-22 10:09:13 · 610 阅读 · 0 评论 -
JDBC之事务的封装和Threadlocal实例
一、什么是事务? 将多个操作当做一个原子操作来进行。(原子不可分割)二、jdbc如何控制事务? (1)jdbc在默认情况下自动提交事务,即一条sql语句执行后,立即提交事务。 (2)如果多个操作(即有多条sql语句要执行)要当做一个整理来执行,比如:在转账业务中需要执行两个sql,一个用来对账号进行扣除余额的操作(-1000),另一个原创 2016-03-26 18:56:09 · 1821 阅读 · 0 评论 -
MVC设计思想和优缺点
mvc(model view controller) (1)什么是mvc? 是一种软件架构的思想,将一个软件按照模型、视图、控制器进行划分。其中,模型用来封装业务逻辑,视图用来实现表示逻辑,控制器用来协调模型与视图(视图要通过控制器来调用模型,模型返回的处理结果也要先交给控制器,由控制器来选择合适的视图来显示 处理结果)。 1)模型: 业务逻辑包含了业原创 2016-04-16 17:30:57 · 18385 阅读 · 0 评论 -
Hibernate中inverse="true"的理解
Customer类:Java代码 public class Customer { private int id; private String name; private Set orders = new HashSet(); ••• } 即Customer类具有一个set集合属性orders,其中Order是一个普通的类:转载 2016-06-15 13:36:03 · 1020 阅读 · 0 评论 -
Spring基础、IOC(控制反转)、AOP(面向切面编程)、Log4j、注解配置
1.什么是Spring,有什么作用 --Spring框架属于一个解决方案框架,可以对其他技术和框架进行整合应用。 --*好处是:将程序中的各个组件和框架技术进行解耦,便于日后系统维护,升级和扩展操作。 --在SSH中,会将Action,DAO组件都交给Spring框架管理,由Spring框架创建这些对象,建立这些对象关联。*2.Spring都含有哪些功能 --Sprin原创 2016-06-22 17:29:01 · 7742 阅读 · 0 评论 -
org.springframework.beans.factory.BeanDefinitionStoreException
整合Spring时报错如下:org.springframework.beans.factory.BeanDefinitionStoreException: Unexpected exception parsing XML document from class path resource [applicationContext.xml]; nested exception is java.la原创 2016-06-24 14:19:53 · 2922 阅读 · 0 评论 -
中间件之消息队列
一、简介消息队列中间件是分布式系统中重要的组件,主要解决应用耦合,异步消息,流量削锋等问题。实现高性能、高可用、可伸缩和最终一致性架构。使用较多的消息队列有ActiveMQ、RabbitMQ、ZeroMQ、Kafka、MetaMQ、RocketMQ。二、消息队列应用场景以下介绍消息队列在实际应用中常用的使用场景:异步处理,应用解耦,流量削锋,日志处理和消息通讯五个场景。1、异步处理...原创 2018-07-23 14:49:39 · 472 阅读 · 0 评论 -
Java学习笔记——《突破程序员基本功的16课》
写在前面:本篇大部分属于基础知识,但容易忽略和遗忘,现整理备份并将持续更新,以便查阅巩固。一、实例变量的初始化时机语法规定,程序可在3个地方对实例变量执行初始化:定义实例变量时指定初始值。非静态初始化块中对实例变量指定初始值。构造器中对实例变量指定初始值。其中,前两种方式比第三种方式更早执行,但第1、2种方式的执行顺序与它们在源程序中的排列顺序相同。publ原创 2018-05-24 17:21:31 · 1634 阅读 · 0 评论 -
WEB架构设计概述
题记初始搭建开始就是各种框架一搭,然后扔到Tomcat容器中跑就是了,这时候我们的文件,数据库,应用都在一个服务器上。服务分离随着系统的的上线,用户量也会逐步上升,很明显一台服务器已经满足不了系统的负载,这时候,我们就要在服务器还没有超载的时候,提前做好准备。由于我们是单体架构,优化架构在短时间内是不现实的,增加机器是一个不错的选择。这时候,我们可能要把应用和数据库服务单独原创 2018-05-24 16:55:55 · 15218 阅读 · 0 评论 -
Java Web传统SSH框架与JFinal框架比较
1.SSHIntroductionSSH不是一个框架,而是多个框架(struts+spring+hibernate)的集成,是目前较流行的一种Web应用程序开源集成框架,用于构建灵活、易于扩展的多层Web应用程序。如下图1所示为SSH的架构图.Web层,就是MVC模式里面的“C”(controller)与“V”(View),负责控制业务逻辑层与页面的交互与展现,在SSH架构中,Stru转载 2016-03-04 10:49:56 · 6360 阅读 · 1 评论 -
Ajax要点总结和编程示例
1、ajax是什么? (asynchronous javascript and xml 异步的javascript和xml) ajax是一种用来改善用户体验的技术,其实质是利用浏览器提供的一个特殊的对象(XMLHttpRequest对象,一般称之为ajax对象)异步地(当ajax对象向服务器发请求时,浏览器不会销毁当前页面,用户仍然可以对当前页面做其它的操作)向服务器发原创 2016-04-21 14:28:31 · 606 阅读 · 0 评论 -
Spring事务管理的四种方式(以银行转账为例)
本文配套示例代码下载地址(完整可运行,含sql文件,下载后请修改数据库配置):http://download.csdn.net/detail/daijin888888/9567096GitHub(给个星杯~):https://github.com/VingeDai/SpringTransactionDemo一、事务的作用 将若干的数据库操作作为一个整体控制,一起成功或一起失败。 ...原创 2016-07-04 18:01:02 · 38403 阅读 · 2 评论 -
Hibernate关联操作、查询操作、高级特性、并发处理机制
1、Hibernate关联映射 1)什么是关联映射? 如果表之间具有关联关系,Hibernate允许我们在hbm.xml中描述他们的关联关系,然后在我们操作其中一张表时,自动的根据这种关系操作到另外的关系表,那么这种关联关系的设置,我们称之为关联映射。 2)关联映射的好处? 一次访问可以关联操作多张表 --关联查询出原创 2016-06-16 17:39:16 · 8778 阅读 · 0 评论 -
Servlet重定向和转发、如何将中文插入数据库
1、重定向 (1)什么是重定向? web服务器发送一个302状态码及一个Location消息头(该消息头的值是一个地址,一般称之为重定向地址)给浏览器,浏览器收到之后,会立即向重定向地址发请求。 简单理解为:服务器通知浏览器向一个新地址发请求。 (2)如何重定向? response.sendRedirct(String ur原创 2016-04-07 13:56:03 · 1028 阅读 · 0 评论 -
jsp标签和el表达式
1、jsp标签和el表达式 (1)什么是jsp标签? 因为直接在jsp页面当中写java代码,不利于jsp页面的维护(比如,将jsp页面交给美工去修改,因为美工很有可能不懂得java代码的知识,容易改错),所以,sun公司提供了jsp标签来代替jsp页面中的java代码。jsp标签类似于html或者xml中的标签,标签会对应于一个标签类,容器会依据标签找到对应的标签类,原创 2016-04-14 11:08:44 · 798 阅读 · 0 评论 -
JDBC模型—深入理解JDBC设计思想(探究Class.forName("DBDriver"))
写在前面:笔者上篇文章《JDBC要点总结、SQL注入示例(Statement和PreparedStatement)》中提到过,JDBC是sun公司制定的一系列接口标准,由不同厂商(Oracle、MySQL等)实现接口方法并封装成驱动文件,供开发人员操作数据库。开发者可通过统一的代码操作不同类型数据库,那么如何实现这种统一操作呢?本篇深入JDBC设计思想,用示例代码模拟整个JDBC运行原理。设计原创 2016-03-24 13:48:27 · 5494 阅读 · 4 评论 -
Servlet运行原理及404、500、405异常原因和解决方法总结
一、Servlet运行原理比如,在浏览器地址栏输入 http://ip:port/web01/hello整个通信流程如下图所示:分步解释: 1、浏览器依据ip,port建立与servlet容器(容器同时也是一个简单的web服务器)之间的连接。 2、浏览器将请求数据打包(按照http协议,该数据包也称为请求数据包)。原创 2016-03-30 16:52:01 · 12247 阅读 · 1 评论 -
web应用程序 两层c/s、三层c/s、b/s架构对比及Servlet由来
一、c/s:client/server两层的c/s特点:使用数据库服务器充当服务器(在数据库编写业务处理逻辑,比如Oracle数据库,可以使用pl/sql来写业务处理逻辑),客户端一般使用vb,vc,dephi这样的语言来开发(客户端主要负责提供操作界面和少量的业务处理逻辑)。缺点:a.可移植性差:因为业务逻辑基本上是写在数据库里,当数据库发生了改变,业务处理逻辑基本上要重新写原创 2016-03-29 15:43:52 · 13146 阅读 · 0 评论 -
XML、DTD、XPATH要点总结
1、什么是xml(xtendsible markup language可扩展的标记语言)? 1)定义 基于文本的通用的数据保存格式。 (1)通用的 点的坐标 Point类 point对象(x=10,y=20) a,序列化 b原创 2016-03-29 13:23:39 · 648 阅读 · 0 评论 -
微信公众平台java开发详解(工程代码+解析)
说明:本次的教程主要是对微信公众平台开发者模式的讲解,网络上很多类似文章,但很多都让初学微信开发的人一头雾水,所以总结自己的微信开发经验,将微信开发的整个过程系统的列出,并对主要代码进行讲解分析,让初学者尽快上手。在阅读本文之前,应对微信公众平台的官方开发文档有所了解,知道接收和发送的都是xml格式的数据。另外,在做内容回复时用到了图灵机器人的api接口,这是一个自然语言解析的开放平台转载 2016-02-15 14:20:39 · 728 阅读 · 0 评论 -
Java中try catch finally语句中含return语句的执行情况总结-编程陷阱
前言:有java编程基础的人对java的异常处理机制都会有一定了解,而且可能感觉使用起来也比较简单,但如果在try catch finally语句块中遇到return语句,开发者可能就会遇到一些逻辑问题,甚至步入编程的陷阱。不信,我们先看看一段小程序,读者可以分析其逻辑然后猜测其输出结果:public class Test { public static void main(Str...原创 2015-12-08 16:11:34 · 6541 阅读 · 2 评论 -
Java内存区域划分、内存分配原理
运行时数据区域 Java虚拟机在执行Java的过程中会把管理的内存划分为若干个不同的数据区域。这些区域有各自的用途,以及创建和销毁的时间,有的区域随着虚拟机进程的启动而存在,而有的区域则依赖线程的启动和结束而创建和销毁。 Java虚拟机包括下面几个运行时数据区域: 程序计数器 程序计数器是一块较小的区域,它的作用转载 2015-12-03 16:57:24 · 651 阅读 · 0 评论 -
用 IntelliJ IDEA 15.x 创建并发布JavaWeb项目
一、创建Web项目1、新建Web项目: File -> New Project ,进入创建项目窗口。Java Enterprise->勾选Web Application->next2、设置项目名及项目路径,finish3、配置热部署:在Project视图下打开web目录,在 WEB-INF目录下点击右键,New -> Directory ,创建 classes 和原创 2016-01-15 22:15:37 · 4989 阅读 · 1 评论 -
JDBC要点总结、SQL注入示例(Statement和PreparedStatement)
一、三个重要对象: a.Connection 代表着Java程序与数据库建立的连接。 b.Statement 代表SQL发送器,用于发送和执行SQL语句。 c.ResultSet 代表封装的数据库返回的结果集,用于获取查询结果。二、编程步骤: 1、加载驱动(需要事先将驱动程序对应的jar文件放到classpath对应的原创 2016-03-23 17:59:30 · 8055 阅读 · 0 评论 -
Servlet 中文乱码问题及解决方案剖析
一、常识了解 1.GBK包含GB2312,即如果通过GB2312编码后可以通过GBK解码,反之可能不成立;2.java.nio.charset.Charset.defaultCharset() 获得平台默认字符编码;3.getBytes() 是通过平台默认字符集进行编码;转载后补充:4.java语言在内存当中使用unicode字符集(编码格式)来保存字符。 编码原创 2016-03-31 13:27:20 · 571 阅读 · 0 评论 -
Servlet如何处理请求及生命周期
一、servlet容器如何处理请求资源路径? 比如,在浏览器地址栏输入 http://ip:port/web04_2/abc.html 浏览器会将请求资源路径("/web04_2/abc.html")放到请求数据包里面,发送给容器。容器收到之后,会依据应用名("/web04_2")找到应用所在的文件夹,然后,容器默认认为访问的是一个servlet,会依据来查找有没有对原创 2016-04-07 17:59:28 · 3134 阅读 · 0 评论 -
Servlet监听器(统计在线人数案例)
1、过滤器 (1)什么是过滤器 servlet规范当中定义的一种特殊的组件,用来拦截容器的调用过程并进行相应的处理。 (2)如何写一个过滤器 step1,写一个java类,实现Filter接口。 step2,在doFilter方法,编写拦截处理逻辑。 step3,在web.xml文件里面,配置过滤器(让容器原创 2016-04-14 09:20:20 · 1078 阅读 · 0 评论 -
JSP/Servlet处理系统异常的两种方式、路径(地址)问题、线程安全问题
一、处理系统异常的两种方式 1)方式一 转发到一个异常处理页面 比如: step1,写一个异常处理页面 error.jsp step2,捕获到系统异常之后,转发到该页面。 request.setAttribute("error_msg","异常描述");原创 2016-04-12 14:24:18 · 2132 阅读 · 0 评论 -
Servlet过滤器(非法字符审核案例)
1、过滤器 (1)什么是过滤器 servlet规范当中定义的一种特殊的组件,用来拦截容器的调用过程并进行相应的处理。 (2)如何写一个过滤器 step1,写一个java类,实现Filter接口。 step2,在doFilter方法,编写拦截处理逻辑。 step3,在web.xml文件里面,配置过滤器(让容器原创 2016-04-14 10:12:07 · 1540 阅读 · 0 评论 -
Servlet使用commons-fileupload实现文件上传
1.文件上传步骤:step1,在浏览器端,设置表单的提交方式为"post",并且,设置enctype="multipart/form-data"。step2,在项目中导入commons-fileupload中的commons-fileupload-1.2.1.jar和commons-io-1.4.jar文件。点击这里下载step3,在服务器端,需要编写程序处理浏览器上传的数据。原创 2016-04-14 09:44:03 · 2438 阅读 · 0 评论 -
WEB状态管理机制剖析(cookie、session)
一、状态管理 (1)状态管理的含义 将浏览器与web服务器之间多次交互当做一个整体来看待,并且将多次交互所涉及的数据(即状态)保存下来。 (2)如何进行状态管理 1)将状态保存在客户端 将状态存放到浏览器(cookie技术)。 2)将状态保存在服务器端 将状态存放到web服原创 2016-04-12 17:20:29 · 1717 阅读 · 0 评论 -
JSP页面中的pageEncoding和contentType两种属性
关于JSP页面中的pageEncoding和contentType两种属性的区别:pageEncoding是jsp文件本身的编码contentType的charset是指服务器发送给客户端时的内容编码JSP要经过两次的“编码”,第一阶段会用pageEncoding,第二阶段会用utf-8至utf-8,第三阶段就是由Tomcat出来的网页, 用的是contentType。第一阶段是j转载 2016-04-08 17:27:27 · 1081 阅读 · 0 评论 -
JSP要点和JSP转发原理剖析
1、什么是jsp(java server page java服务器端页面技术)? 1)定义 sun公司制订的一种服务器端动态页面生成技术规范。 2)理解 a,因为直接使用servlet,虽然也可以生成动态页面,但是比较繁琐(需要使用out.println语句),并且维护困难(如果页面发生改变,必须修改java代码),所以,sun在servle原创 2016-04-11 13:44:41 · 1446 阅读 · 1 评论 -
MD5摘要加密算法
(1)什么是摘要加密?摘要加密是一种不需要密钥的加密算法,明文进行加密之后会生成唯一的一个密文(指纹,或者称之为摘要)。并且无法破解。不可逆性: 无法破解唯一性: 不同的明文有不同的摘要(2)编程参见MessageDigestUtil类。public class MessageDigestUtil { public static String e原创 2016-04-12 13:22:25 · 614 阅读 · 0 评论