javaweb
文章平均质量分 92
佳亮
这个作者很懒,什么都没留下…
展开
-
Spring cloud之服务治理:Spring cloud Eureka
Spring cloud中的服务治理,大致分为两部分:服务注册,服务发现。服务治理是微服务架构中最核心最基础的模块,主要用来实现各个微服务模块之间的自动化注册与发现。在传统的架构中,随着服务或者模块原来越多,需要大量的静态配置来维护实例清单。这种状况,无论对于开发还是运维,都是比较头疼的事。为了解决微服务架构中服务实例维护问题,产生了大量的服务治理框架和产品,这些框架和产品都是围绕着服务注册与...原创 2019-04-23 00:56:57 · 191 阅读 · 0 评论 -
Springboot实现quartz定时
quartz实现定时,单任务和多任务。MethodInvokingJobDetailFactoryBeanCronTriggerFactoryBeanSchedulerFactoryBeanCronTriggerJobDetailCronScheduleBuilder原创 2017-12-01 20:48:30 · 20322 阅读 · 9 评论 -
mybatis多表查询
1,业务需求有两个实体类,分别是Requirement和Cooperate,分别表示需求和对接。一个需求可以有多个对接。 需求和对接,都需要记录用户。简而言之,需要知道需求是谁发布的,对接的人是谁。所以Requirement和 Cooperate分别有一个SysUser成员变量。2,实体类@Table(name = "sys_user")public class SysUser extends原创 2017-11-04 10:04:33 · 602 阅读 · 0 评论 -
Mybatis(三)— 关联查询
关于mybatis环境的搭建,见mybatis环境搭建 关联查询就是多表查询,开发中用得很多1. 创建数据库中的表和pojo类:CREATE TABLE `students` ( `id` int(20) NOT NULL AUTO_INCREMENT, `name` varchar(30) DEFAULT NULL, `sex` varchar(10) DEFAULT NULL,原创 2017-07-21 12:35:21 · 313 阅读 · 0 评论 -
java实现excel的导入和导出
在网上参考了很多文章,对于excel的导入导出大概看了下,详细的API没有仔细去看,只不过是实现了功能而已。这里贴上代码,一方面自己以后用得时候可以直接拿来用,另一方面有需要实现excel导入导出功能的,也可以大概看看本篇文章原创 2017-10-30 17:14:51 · 42518 阅读 · 3 评论 -
echars显示地图
功能比较简单,后台传数据给页面,页面将传过来的数据显示在地图上,效果图如下:页面首先需要导入echars的相关插件和地图显示的相关插件。 页面如下:<!DOCTYPE html><html><head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=原创 2017-10-18 18:31:16 · 2012 阅读 · 0 评论 -
spring boot 集成shiro
shiro的用户认证*简而言之就是对用户登录进行管理,包括自动校验用户名和密码,对密码进行加密。必须登录成功后才能访问其他的url,否则跳转到登录的页面。比如在没有登录的情况下访问http://127.0.0.1:8080/index会自动跳转到http://127.0.0.1:8080/login页面。shiro的权限控制就是给用户添加一定的权限,而每个权限可以访问对应的url就行相应的操作。通常每原创 2017-09-12 14:30:14 · 611 阅读 · 0 评论 -
SpringMVC与Ajax数据交互
简单说下需求,页面通过ajax发送一个json数据,controller控制器接收到json数据后,以此为条件在数据库中进行查询。将查询到的对象返回给页面原创 2017-09-08 21:43:46 · 2177 阅读 · 0 评论 -
SSH整合
SSH是java web开发中常见的框架组合,分别是struts2,Spring,Hibernate。 struts2需要配置核心过滤器,Spring需要配置WEB监听器。 实现的业务逻辑比较简单,从表单页面接收数据,通过struts2的模型驱动组装成Student对象,然后存入到数据库中。 项目结构概览:原创 2017-07-27 23:24:59 · 559 阅读 · 0 评论 -
Springboot加载静态图片
项目中,上传图片到服务器,然后展示出来。之前关于文件的上传下载做得比较多。但是关于图片的显示,从没有做过,查了一些资料,折腾了一番。终于实现了最基本的效果。 以前上传后的文件,在数据库中记录时,记录的都是文件的全路径。在页面展示图片,src设置成文件的全路径,根本就读不到。 在Springboot中,需要配置静态资源的访问路径。 配置如下:@Configurationpublic class原创 2017-11-23 14:48:09 · 11070 阅读 · 2 评论 -
JavaMail使用465端口发送SSL加密邮件
今天发现,自己的项目在本地发邮件没任何问题。但部署到服务器,发送邮件显示连接异常。一开始非常懵逼,查资料,发现是阿里云出于安全考虑,关闭了服务器的25端口,而25端口是smtp的默认端口。提交工单,客服建议使用邮件服务商的加密的465端口。紧接着又是配置安全组,又是开启邮件服务商的端口和服务。其实都没用,如果发生了这个问题,那就一定是代码出现问题了,重写代码吧!本文参考了http://ww原创 2018-01-27 23:26:36 · 11396 阅读 · 1 评论 -
客户端负载均衡:Spring Cloud Ribbon
Spring Cloud Ribbon是一个基于http和tcp的客户端负载均衡工具,基于Netflix Ribbon实现。Spring Cloud Ribbon虽然是Spring cloud的一个组件,但不需要像注册中心,配置中心等独立部署,它几乎存在于每一个spring cloud构建的微服务中。负载均衡是系统架构中一个非常重要的内容,它是对系统进行高可用,缓解网络压力和处理能力扩容的重要...原创 2019-04-27 00:12:31 · 159 阅读 · 0 评论 -
Spring boot 实现solr索引的增添和查询
在solr实例中自定义域, <field name="user_name" type="text_general" indexed="true" stored="true"/> <field name="user_sex" type="text_general" indexed="true" stored="true"/> <field name...原创 2019-03-28 17:27:42 · 1478 阅读 · 0 评论 -
Ajax跨域的简单实现
1.跨域的由来因为javascript的同源策略,js只能访问同域的资源。所谓同域,就是指域名,端口,协议必须相同。简而言之,javascript只能访问同一个服务器下的资源,不能直接访问别人服务器的资源。但是在一些操作中,必须访问其他服务器的资源,比如单点登录。这样就必须想法绕过浏览器的限制,于是就有了很多的跨域技术的出现。2.使用jsonpjsonp是对json的一种扩展。使用js...原创 2019-03-15 10:49:08 · 188 阅读 · 0 评论 -
Spring boot实现多数据源的一种方式
参考博客,感谢作者!之所以说是一种方式,因为还有一种方式是通过继承AbstractRoutingDataSource来动态选择DataSource路由,通过AOP的方式进行切换。该程序Dao层实现使用mybatis框架。该方式实现的思路是:有多少个数据源就写多少个数据源的配置类,mybatis的Mapper接口分别对应放在不同的包下,Mapper.xml文件根据数据源的不同放在不同的目...原创 2019-01-30 15:28:34 · 1050 阅读 · 0 评论 -
动态代理实现简单的拦截器
该拦截器需要实现的功能:如果用户已登录那么执行该方法(操作)。如果没有登录,那么拦截该方法(操作),跳转到登录页面。该拦截器的实现使用JDK的动态代理技术。需要用到的接口:public interface Worker { void doWork();}该接口的实现类:public class Programmer implements Worker { publi...原创 2018-12-24 15:36:50 · 901 阅读 · 3 评论 -
动态代理的两种实现方式
在java web中,很多的技术底层都用到了java的动态代理技术。比如拦截器,比如Spring中的AOP编程等。动态代理底层又是基于java的反射技术。在java中,动态代理技术有:原生JDK,CGLIB,Javassist,ASM。其中,Spring常用JDK和CGLIB,而Mybatis中还使用了Javassist。本文只讲原生JDK,CGLIB这两种最常用的方式。1.原生JDK...原创 2018-12-24 11:05:04 · 9771 阅读 · 2 评论 -
mybatis在foreach中实现查询
在mybatis中大批量插入数据,一般会直接使用foreach,比如: <insert id="addItem" parameterType="java.util.List"> insert into tableA ( id, name, PID, SORTID, AUDIT ) values <foreach collection=...原创 2018-07-24 14:30:50 · 5172 阅读 · 1 评论 -
Struts2(三)-Struts2之文件的上传和下载
文件的上传和下载struts2需要两个jar包原创 2017-07-27 10:56:25 · 314 阅读 · 0 评论 -
Struts2(二)-Struts2之参数绑定和拦截器
Struts2使用原生Servlet的API获取表单的参数,使用模型驱动的方式获取表单参数。使用原生Servlet的API向页面传递参数。使用拦截器,做登录校验。原创 2017-07-26 23:06:02 · 1331 阅读 · 0 评论 -
Struts2(一)-Struts2之HelloWorld
1.Struts2简介Struts2是Struts1的下一代产品,是在 struts1和WebWork的技术基础上进行了合并的全新的Struts 2框架。 其全新的Struts 2的体系结构与Struts 1的体系结构差别巨大。Struts 2以WebWork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与ServletAPI完全脱离开,所以Struts 2可以理解为W原创 2017-07-26 16:57:32 · 228 阅读 · 0 评论 -
SpringMVC(一)—环境搭建和实现静态资源的访问
Spring MVC属于SpringFrameWork的产品,应用在web层(表现层),和struts2一样,都采用MVC架构。环境搭建需要导入的jar包web.xml(WEB-INF下)<?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns原创 2017-07-17 12:01:04 · 1957 阅读 · 0 评论 -
Mybatis(二)— 使用Mapper动态代理方式进行开发
mybait有两种开发方式,一种是传统的dao开发方式,一种是Mapper动态代理方式。 这里简单地介绍下这两种方式。 需要用到的数据库表结构如下: 1.Dao开发方式映射文件Student.xml:<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//E原创 2017-07-20 12:23:33 · 765 阅读 · 0 评论 -
Spring笔记(四)——JDBC模板技术和事务管理
对于Web开发,Spring提供了一站式的解决方案。表现web层,可以使用springmvc。持久层,spring提供了JDBC模板技术和数据库进行交互。 除了JDBC模板,还有Hibernate模板。 JDBC模板直接使用sql语言。环境搭建需要引入的包如下: 数据库使用的是mysql,因此必须需要导入mysql的jar包。除此之外,还有 Spring-jdbc.jar和Spring原创 2017-07-16 15:22:22 · 678 阅读 · 0 评论 -
Spring笔记(三)——注解方式实现AOP
项目搭建项目用到的jar包结构如下: 除了Spring基本的开发包,还包括spring的传统AOP的开发的包: spring-aop-4.2.4.RELEASE.jar com.springsource.org.aopalliance-1.0.0.jar aspectJ的开发包: com.springsource.org.aspectj原创 2017-07-16 11:04:02 · 1055 阅读 · 0 评论 -
Spring笔记(二)——注解方式实现IoC和AOP
1.注解方式实现IoC除了使用xml配置文件实现IoC外,Spring还提供了注解的方式实现IoC。相比于xml文件,注解方式开发更加方便。1.1 需要导入的jar包这些jar包中,包含Spring实现AOP,Junit单元测试,日志需要的jar包。1.2 applicationContext.xml文件需要开启注解扫描,并且加入注解的约束。该文件仍然置原创 2017-07-15 13:49:15 · 878 阅读 · 0 评论 -
Spring笔记(一)——xml方式实现IoC和DI
javaweb开发中,几乎离不开各种开源框架的支持。 javaweb的开发分为三个层次:WEB层 (表现层) 业务层 – Bean管理:(IOC)持久层 – Spring的JDBC模板.ORM模板用于整合其他的持久层框架 在这三个层次中,常用的框架结构有SSH和SSM。无论是SSH还是SSM,业务层都是由Spring来实现的。因此,Spring框架对于javaweb开发非常重原创 2017-07-14 13:57:32 · 763 阅读 · 0 评论 -
Servlet实现用户注册
数据库使用mysal,JDBC使用apache提供的dbutils工具,数据库连接池使用c3p0工具。 之所以使用这些第三方的工具,一方面是提高了程序的安全性,另一方面使得代码更加简洁。 如果我们自己写一个数据库连接池,肯定在稳定性和安全性上都比不上第三方的工具。实际开发中也经常会使用第三方工具。1.注册注册用到了请求转发,无论成功与否,都将注册结果转发给另外一个Servlet,这个Servle原创 2017-05-09 09:46:21 · 4813 阅读 · 0 评论 -
Servlet实现登录
1. 登录表单2. Servlet3. dbutils4. c3p0数据库连接池5. mysql原创 2017-05-09 09:54:40 · 596 阅读 · 0 评论 -
SpringMVC(二)—实现参数绑定
@RequestMapping("/model") public String createUser(Model model) { User user=new User(); user.setAge(16); user.setUsername("关羽"); user.setEmail("[email protected]"); //model原创 2017-07-18 11:35:56 · 448 阅读 · 0 评论 -
SpringMVC(三)—文件的上传和下载
public String fileUpload2(@RequestParam("file") CommonsMultipartFile file) throws IOException {原创 2017-07-18 23:59:36 · 859 阅读 · 0 评论 -
SpringBoot之Helloworld
1.SpringBoot简介Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者。2.SpringBoot特性创建原创 2017-08-17 22:34:07 · 325 阅读 · 0 评论 -
Hibernate(三)—多表操作
1.一对多映射一对多映射是常见的映射关系,也是用的最广泛的数据库多表关系。 现在有两个表,students和article,一个学生可以写很多的文章,而一篇文章只有一个学生作者。因此students和article是一对多的关系。 其中article的student_id是外键,映射students中的id。原创 2017-07-26 10:45:55 · 265 阅读 · 0 评论 -
Hibernate(二)—Hibernate的一些基本概念和查询
1. 持久化类持久化类就是一个Poo类,这个类建立与数据库中的表映射关系之后,就是持久化类。 持久化类 = Poo类+ xxx.hbm.xml 持久化类在编写时,需要遵循javabean的规范,除此之外,还需要添加一个主键的标识属性,一般为id。1.2 Hibernate持久化对象的状态 瞬时态:Transient Object没有持久化标识OID, 没有被纳入到Session对象的管理。也原创 2017-07-24 23:47:53 · 241 阅读 · 0 评论 -
Hibernate(一)—环境搭建和基本的增删改查
1.Hibernate概述Hibernate是一个开放源代码的对象关系映射(ORM)框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以使用对象编程思维来操纵数据库。Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用。Hibernate是一个持久层的框架,和mybatis一样,都是操作数据库的。1.1原创 2017-07-24 18:20:35 · 300 阅读 · 0 评论 -
SSM整合
SSM整合SSM是java web开发中常用的三大开源框架的组合,分别对应java web开发中的web层(表现层),业务层,持久层。分别是Spring MVC,Spring,Mybatis。原创 2017-07-24 12:32:55 · 328 阅读 · 0 评论 -
Mybatis(一)—实现对数据库的增删改查操作
1.Mybatis简介MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis 。2013年11月迁移到Github。 MyBatis是一个优秀的持久层框架,它对jdbc的操作数据库的过程进行封装,使开发者只需要关注 SQL 本身,而不需要花费精力去处理例如注原创 2017-07-19 23:50:22 · 11722 阅读 · 6 评论 -
SpringMVC(四)—拦截器
登陆校验:当用户访问服务器的资源时,先判断用户是否已经登陆。如果已经登陆,那么放行,可以访问。如果没有登录,那么跳转到登陆界面。如果用户访问的是登录页面,也需要放行。处理流程:用户登录成功时,将登陆信息放入session中。在拦截器中,判断session是否为空,如果为空,说明没有登录,跳转到登录页面。如果不为空,说明已经登陆,放行。如果访问的页面本身就是登录页面,直接放行。原创 2017-07-19 11:55:28 · 285 阅读 · 0 评论 -
eclipse配置Maven及创建web工程
maven翻译为“专家”,“内行”。Maven是Apache下的一个纯java开发的开源项目,它是一个项目管理工具,使用maven对java项目进行构建、依赖管理。当前使用Maven的项目在持续增长。maven的工作需要从仓库下载一些jar包,通过maven软件从远程仓库(可以理解为互联网上的仓库)下载jar包并存在本地仓库,本地仓库 就是本地文件夹,当第二次需要此jar包时则不再从远程仓库下载,因原创 2017-07-22 21:41:23 · 530 阅读 · 0 评论 -
el表达式及jstl常见用法
EL是jsp的内置表达式语言,从jsp2.0开始,用来替代<%=..%>表达式。1 el获取简单的数据<body><% request.setAttribute("requestKey", "requestValue"); session.setAttribute("sessionKey", "sessionValue"); pageContext.setAttribute("p原创 2017-05-23 21:22:52 · 777 阅读 · 0 评论