![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JavaEE
文章平均质量分 52
奔跑在梦想的道路上
用思想影响人类,用技术改变世界。
展开
-
Linux创建软链接导致文件无法下载的问题处理
在一个SpringBoot项目里,如果把下载的文件存到 /usr/local/tomcat/webapps/ROOT/WEB-INF/uploadfiles里,这时若下载该链接目录里的文件时,可能会找不到文件。通过上述方式,可以判断文件路径是普通路径还是链接路径,从而顺利下载文件。Linux里可以创建软链接,如同Windows系统的快捷方式。ln -s 源文件 链接目录。原创 2022-09-23 17:08:29 · 1190 阅读 · 1 评论 -
JDBC数据源连接池(1)---DBCP
何为数据源呢?也就是数据的来源。我在前面的一篇文章《JDBC原生数据库连接》中,采用了mysql数据库,数据来源于mysql,那么mysql就是一种数据源。在实际工作中,除了mysql,往往还会有Oracle,sql server等数据库。在与数据源连接方面,我在《JDBC原生数据库连接》中未采用连接池的方式,而是在需要使用数据源的时候开始建立连接,等到我们使用完之后,就会把个连接close(...原创 2018-12-21 08:48:29 · 159 阅读 · 0 评论 -
JDBC数据源连接池(2)---C3P0
我们接着《JDBC数据源连接池(1)---DBCP》继续介绍数据源连接池。首先,在Web项目的WebContent--->WEB-INF--->lib文件夹中添加C3P0的jar包。其次,编写C3P0的xml配置文件c3p0-config.xml ,内容如下:<?xml version="1.0" encoding="UTF-8"?><c3p0-con...原创 2018-12-21 08:49:56 · 100 阅读 · 0 评论 -
JDBC数据源连接池(3)---Tomcat集成DBCP
此文续《JDBC数据源连接池(2)---C3P0》。Apache Tomcat作为一款JavaWeb服务器,内置了DBCP数据源连接池。在使用中,只要进行相应配置即可。首先,确保Web项目的WebContent--->WEB-INF--->lib文件夹中有mysql数据库驱动jar包。其次,配置数据源的xml文件。如果配置信息写在tomcat--->con--->...原创 2018-12-21 08:51:53 · 173 阅读 · 0 评论 -
Spring框架概述
Spring 是一个开源框架,是为了解决企业应用程序开发复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许您选择使用其中的任何一个组件,同时为 J2EE 应用程序开发提供集成的框架。 作为一个分层架构,Spring由 7 个定义良好的模块组成。Spring 模块构建在核心容器之上,核心容器定义了创建、配置和管理 bean 的方式。Spring框架的架构示意图如下: ...原创 2018-12-27 10:29:06 · 211 阅读 · 0 评论 -
WebService初识
Web service 是一种跨编程语言和跨操作系统平台的远程调用技术,即跨平台远程调用技术。也就是说,不管是J2EE架构,还是.net架构 只要按照规范就可以进行通信,实现数据交互等。 这里说的"规范"是指,Webservice平台必须提供一种标准来描述Web service,让客户可以得到足够的信息来调用这个Web service。最后,我们还必须有一种方法来对这个Web servi...原创 2018-12-30 08:43:25 · 306 阅读 · 0 评论 -
访问公网WebService服务
接下来,我们演示如何访问公网webservice服务。 我们以访问 http://www.webxml.com.cn/zh_cn/index.aspx 为例,主要演示手机号码归属地查询服务(使用说明书路径为 http://ws.webxml.com.cn/WebServices/MobileCodeWS.asmx?WSDL)。接着,生成相应的webservice客户端,以及jar包。...原创 2018-12-30 08:43:43 · 1127 阅读 · 0 评论 -
Hibernate使用
hibernate是一个ORM框架。 ORM的全拼是Object Relational Mapping,译为“对象关系映射”,是一种程序技术,用于实现面向对象编程语言里不同类型系统的数据之间的转换。从效果上来说,它其实是创建了一个可以在编程语言里使用的“虚拟对象数据库”。 使用较多的ORM框架有: JPA---- Java Persistence API.JPA通过JDK ...原创 2018-12-31 08:36:21 · 5290 阅读 · 1 评论 -
Struts2使用
Struts2是一个基于MVC设计模式的Web应用框架。在MVC设计模式中,Struts2作为控制器(Controller)来建立模型与视图的数据交互。Struts 2是Struts的下一代产品,是在 struts 1和WebWork的技术基础上进行了合并的全新的Struts 2框架。Struts 2的体系结构与Struts 1的体系结构差别巨大。Struts 2以WebWork为核心,采用拦...原创 2018-12-31 08:36:52 · 209 阅读 · 0 评论 -
Java跨域问题的处理
1,JavaScript由于安全性方面的考虑,不允许页面跨域调用其他页面的对象,那么问题来了,什么是跨域问题? 答:这是由于浏览器同源策略的限制,现在所有支持JavaScript的浏览器都使用了这个策略。那么什么是同源呢?所谓的同源是指三个方面“相同”: (1)域名相同 (2)协议相同 (3)端口相同 上述三个方面均相同属于同源,JavaScript默认在同源范围内才允...原创 2019-01-01 09:32:11 · 2077 阅读 · 0 评论 -
SpringMVC 返回JSON数据的配置
spring-mvc-config.xml(文件名称请视具体情况而定)配置文件:<!-- 启动Springmvc注解驱动 --> <mvc:annotation-driven> <!-- 返回json 方法一 需要导入 fastjson.jar包 --> <mvc:annotation-driven> <mv...原创 2019-01-02 08:50:07 · 653 阅读 · 0 评论 -
CAS实现单点登录
SSO英文全称Single Sign On,单点登录。SSO是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。它包括可以将这次主要的登录映射到其他应用中用于同一个用户的登录的机制。它是目前比较流行的企业业务整合的解决方案之一。 SSO的实现机制是: 当用户第一次访问应用系统1的时候,因为还没有登录,会被引导到认证系统中进行登录;根据用户提供的登录信息,认证系统...原创 2019-01-02 08:50:36 · 631 阅读 · 0 评论 -
JDBC数据源连接池(4)---自定义数据源连接池
[续上文《JDBC数据源连接池(3)---Tomcat》]我们已经 了解了DBCP,C3P0,以及Tomcat内置的数据源连接池,那么,这些数据源连接池是如何实现的呢?为了究其原理,我在这里写一个自定义的数据源连接池。我先在com.itszt.utils包下新建一个Utils_5_mydscp 文件夹,在该文件夹下写自定义的数据源连接池工具;同时,我在src包下建config_utils_...原创 2018-12-24 22:03:01 · 99 阅读 · 0 评论 -
Restful对于URL的简化
REST是英文representational state transfer(表象性状态转变)或者表述性状态转移,它是web服务的一种架构风格。使用HTTP,URI,XML,JSON,HTML等广泛流行的标准和协议;轻量级,跨平台,跨语言的架构设计;它是一种设计风格,不是一种标准,是一种思想。 Rest架构的主要原则: 网络上的所有事物都被抽象为资源; 每个资源都有...原创 2019-01-03 08:55:22 · 222 阅读 · 0 评论 -
Java各种对象(PO,BO等)的区分
PO:持久对象 (persistent object)。 PO是在Object/Relation Mapping框架中的Entity,它的每个属性基本上都对应数据库表里面的某个字段。完全是一个符合Java Bean规范的纯Java对象,没有增加别的属性和方法。持久对象是由insert数据库创建,由数据库delete删除的。基本上持久对象生命周期和数据库密切相关。 VO:有两种解释。...原创 2018-12-31 08:35:34 · 951 阅读 · 0 评论 -
JDBC原生数据库连接
我们在开发JavaWeb项目时,常会需要连接数据库。我们以MySQL数据库为例,IDE工具为eclipse,讲述数据库连接与基本操作。第一步,我们在Web项目的WebContent中建一个简单的前端页面login.html,内容如下:<!DOCTYPE html> <html lang="en"><head> <meta charse...原创 2018-12-21 08:44:14 · 176 阅读 · 0 评论 -
Maven整合Spring与Solr
首先,在maven的pom.xml文件中配置对spring和solrj客户端的依赖:<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org...原创 2018-12-30 08:40:55 · 374 阅读 · 0 评论 -
Solr应用
Solr是apache的顶级开源项目,它是使用java开发 ,基于lucene的全文检索服务器。Solr比lucene提供了更多的查询语句,而且它可扩展、可配置,同时它对lucene的性能进行了优化。Solr和lucene有什么区别呢? Lucene是一个全文检索引擎工具包,它只是一个jar包,不能独立运行与对外提供服务。 Solr是一个全文检索服务器,它可以单独运行在ser...原创 2018-12-27 10:26:11 · 469 阅读 · 0 评论 -
PSQueue队列操作
队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈(FILO,First In Last Out,先进后出)属于线性表一样,队列也是一种操作受限制的线性表。进行插入操作的端称为队尾,进行删除操作的端称为队头,即FIFO(First In First Out,先进先出)。 高并发(High Concurrency)是...原创 2018-12-27 10:27:55 · 334 阅读 · 0 评论 -
Spring框架之AOP
AOP—面向切面编程(Aspect Oriented Programing),它是由Gregor Kiczales在施乐的Palo Alto研究小组于1997年提出的。在传统的编程实践中,对于系统中有些行为,我们无法封装在单个的模块中,而且这些功能与行为通常并不实现系统的业务功能,但辅助系统业务功能的实现,并散布在实现系统业务功能的多个模块中。如果采用OOP的编程方式,通常会造成这些功能的代码...原创 2018-12-27 10:29:17 · 110 阅读 · 0 评论 -
FreemMrker模板引擎
freemarker是一套前端模板引擎,在使用时,要先在web项目中添加freemarker.jar的依赖。 我在这里主要演示spring-mvc整合freemarker模板引擎。项目案例的文件包结构示意图如下: 首先,在工程的web.xml文件中进行配置:<?xml version="1.0" encoding="UTF-8"?><web-app x...原创 2018-12-30 08:41:20 · 226 阅读 · 0 评论 -
Spring集成swagger
随着互联网技术的发展,现在的网站架构基本都由原来的后端渲染,变成了:前端渲染、前后端分离的形态,而且前端技术和后端技术在各自的道路上越走越远。 前端和后端的唯一联系,变成了API接口;API文档变成了前后端开发人员联系的纽带,变得越来越重要,swagger就是一款让我们更好地书写API文档的框架。swagger可以用来显示API文档。 我们在基于spring框架进行java开发时,当需...原创 2018-12-28 08:32:14 · 3631 阅读 · 0 评论 -
SpringMVC框架
我们在基于Spring框架进行web开发时,通常会有dao层(数据库操作),service层(业务逻辑操作,比如判断是否在redis,memcached等缓存中查找数据,何时调用dao层),web层(接收前端用户的请求,调用service层,向前端响应数据与视图)。其中,Spring框架为service层做了较好的支持,mybatis、hibernate等框架为dao层做了较好的支持,Spri...原创 2018-12-28 08:32:30 · 220 阅读 · 0 评论 -
JSP技术
在传统的JavaWeb开发中,有三个“运动员”,分别是: 1.JSP:主要做动态页面的展示; 2.Servlet:接收前端页面数据,返回前端页面响应,连接数据库,内部实现对应逻辑; 3.JavaBean:一个普通类,又分为实体bean 和业务bean。 在JavaWeb的开发历史中,主要有两种开发模式,分别是: 1.JSP + JavaBean 2.JSP ...原创 2018-12-28 08:32:58 · 6607 阅读 · 0 评论 -
Java文件上传与下载
文件上传与下载可谓上网中的常见现象。apache为我们准备了用于文件上传与下载的两个jar包(commons-fileupload-1.2.1.jar,commons-io-1.4.jar)。我们在web项目中,将这两个jar包添加依赖,就可以使用客户端上传文件、服务器端下载文件的功能。 我们假设一个前端页面(如jsp页面)向服务器发起一个上传文件的请求,这时,表单必须必须用POST方式...原创 2018-12-28 08:33:34 · 1093 阅读 · 0 评论 -
手机短信验证工具类
import java.io.IOException;import java.util.ArrayList;import java.util.Date;import java.util.List;import com.google.gson.Gson;import com.itszt.jzzj.domain.user.CodeEntity;import org.apache....原创 2018-12-29 08:45:34 · 215 阅读 · 0 评论 -
邮箱验证工具类
import com.itszt.jzzj.domain.user.User;import java.io.*;import java.util.Properties;import javax.mail.Address;import javax.mail.MessagingException;import javax.mail.Session;import javax.mail.Tr...原创 2018-12-29 08:45:52 · 1889 阅读 · 0 评论 -
随机验证码工具类
import java.awt.Color;import java.awt.Font;import java.awt.Graphics;import java.awt.image.BufferedImage;import java.util.Random;import javax.imageio.ImageIO;import javax.servlet.http.HttpServle...原创 2018-12-29 08:46:05 · 208 阅读 · 0 评论 -
Java图像工具类
用户在向服务器提交资料时,有时会提交一个图片,为了改善用户体验,我们会在用户提交图片后随之在前端页面上显示用户提交的图片或缩略图。比如,我们在一些考试类的网站上提交报名信息时,就会经常遇到这种情况。下面是一个工具类,可以返回显示用户提交的图片。 import javax.servlet.ServletContext;/** * 工具类,生成基于网站根目录的绝对路径 */publ...原创 2018-12-29 08:47:14 · 146 阅读 · 0 评论 -
数据库中的表批量映射为对象
需要用到两个mybatis的generator和mysql驱动两个jar包,将这两个jar包添加为依赖。(例:mybatis-generator-core-1.3.5.jar,mysql-connector-java-5.1.45-bin.jar) 配置generatorConfig.xml文件:<?xml version="1.0" encoding="UTF-8"?>...原创 2018-12-29 08:47:28 · 344 阅读 · 0 评论 -
Spring的@Transactional事务注解
事务注解方式 @Transactional 当标于类前时, 标示类中所有方法都进行事务处理 , 例子: @Transactional public class TestServiceBean implements TestService {} 当类中某些方法不需要事务时:@Transactional public class TestServiceBean ...原创 2018-12-29 08:49:37 · 127 阅读 · 0 评论 -
Mybatis的初步使用
MyBatis 是当下最流行的持久层框架,也是ORM框架,本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis 。2013年11月迁移到Github。iBATIS一词来源于“internet”和“abatis”的组合,是一个基于Java的持久层框架。iBATIS提供的持久...原创 2018-12-29 08:49:52 · 122 阅读 · 0 评论 -
Spring之IOC与动态代理
Spring框架是J2EE开发中一个使用广泛的框架,它使得dao和service层的维护更加便利。Spring框架有两个重要的特征,一个是IOC,另一个是AOP。我们在这里主要介绍IOC,以及IOC中涉及的主要技术。 IOC(Inversion Of Control),控制反转是将创建对象的控制权从程序员手中转向Spring框架。Spring框架在创建对象时使用了DI技术。 DI(...原创 2018-12-27 10:27:43 · 7056 阅读 · 5 评论