
JavaWeb探索
文章平均质量分 85
记录自己学习JavaWeb过程中的点点滴滴,和大家一起分享,期待和大家一起进步!
Java知音_
欢迎微信搜索【Java知音】关注我的公众号,号内回复“后端面试”,送你一份精心准备的Java面试题(提纲+解析),Java知音每天推送精选好文,已经有十几万开发者关注,欢迎加入我们,共同交流,纠错
展开
-
Spring的IOC原理
发现一篇不错的文章,目测是网上解释这个概念最清楚的文章了,转来学习一下,原文是Spring的IOC原理 [通俗解释一下]略做了一下排版,方便阅读。以下是正文:1. IoC理论的背景我们都知道,在采用面向对象方法设计的软件系统中,它的底层实现都是由N个对象组成的,所有的对象通过彼此的合作,最终实现系统的业务逻辑。图1:软件系统中耦合的对象如果我们打开机械式手表的后盖,就会看到与上面类似的情形,各转载 2018-02-05 18:36:45 · 884 阅读 · 1 评论 -
eclipse上的.properties文件中文编辑显示问题
首先,解决.properties文件中的中文编辑问题,我们发现,在.properties文件中输入的中文变成了这个样子:这是eclipse的.properties文件,默认的编码方式是iso-8859-1,这里可以修改编码为UTF-8,方法是:图很明显了,无需多言。唯一需要强调的是最后一定点击Update,此时,在.properties文件中写中...原创 2018-01-03 11:00:50 · 13372 阅读 · 4 评论 -
ajax极简教程
一、什么是ajaxajax即异步JavaScript和XML,它是一种用于创建快速动态网页的技术。作用是通过在后台与服务器进行少量数据交换,使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。二、实现ajax基本步骤创建XMLHttpRequest对象,也就是创建一个异步调用对象.创建一个新的HTTP请求,并指定该HTTP请求的方法、URL及验证信息.设置响应HT原创 2018-01-02 09:45:22 · 1256 阅读 · 0 评论 -
Nginx学习笔记
什么是NginxNginx是一款轻量级的Web服务器/反向代理服务器以及电子邮件代理服务器,并在一个BSD-like协议下发行。由俄罗斯的程序设计师lgor Sysoev所开发,供俄国大型的入口网站及搜索引擎Rambler使用。其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好。 nginx的优点Nginx专为性能优化而开发,性能是其最重要的考量,实现上非原创 2017-11-16 15:47:22 · 1173 阅读 · 0 评论 -
vue+Java后端进行调试时如何解决跨域问题
今天在开发过程中遇到一个问题,拿到了一套vue代码,计划对这套代码的部分样式进行调整,Java后端代码已经写好并且部署到了线上。这时命令行运行vue项目时访问会受限,取不下数据来,遇到了跨域访问失败的问题,这时可以怎么做呢?首先,要了解什么叫跨域访问?跨域,指的是浏览器不能执行其他网站的脚本。它是由浏览器的同源策略造成的,是浏览器对javascript施加的安全限制。所...原创 2017-10-17 18:51:24 · 16938 阅读 · 15 评论 -
linux操作系统下部署Javaweb项目教程
操作系统: CentOS 6.9 64位工具:Xshell,Xftp,MySQL5.7,jdk1.8,tomcat8.0一,Xshell基本概念:Xshell可以在Windows界面下用来访问远端不同系统下的服务器,从而比较好的达到远程控制终端的目的。 安装过程很简单,和普通软件没有差别,这里不做介绍,安装成功后,点击左上角文件,新建,进行远程连接linux服务器,填写信息如图:下一步,点击用户身原创 2017-10-20 14:06:21 · 18003 阅读 · 17 评论 -
PDF转换图片,图片的切割,图片转换PDF以及PDF加水印等记录贴
最近项目中有一些对PDF操作的需求,包括: PDF转变为图片; 把图片进行切割; 把图片转变回PDF; 为PDF加水印文字; 为PDF加水印图片。这里记录一下这些方法,方便日后用到时可查,也希望可以帮助有这方面需求的小伙伴。以下方法均为可直接运行的测试方法,复制导包就可以运行,这里测试都可以跑通。1,PDF转变为图片/** * @author dalin *将PDF格式的文件转换成png文件原创 2017-10-07 10:46:23 · 2266 阅读 · 0 评论 -
终身伴侣(两个人的网站)代码+效果演示(文末源码地址)
趁着七夕,把以前做过的一个情侣类的小网站写一写,虽然很早以前就做了,但一直没用上,咳咳。。。。使用到的技术:Java,MySQL,Jquery,ajax。先说说最初设计的构想: 基于“一次注册终生注册”的理念及实现,通过情侣间的互动次数、时间等判断他们的感情是否处于健康状态并对他们进行提醒或平台功能使用限制如:无法进入恋爱社区,无法上传图片和日记等;若双方分了,双方将都不能与其他用户进行原创 2017-08-27 20:04:49 · 65805 阅读 · 19 评论 -
Javamail配置阿里云邮箱发送邮件
前言:前面已经介绍过使用163邮箱发送邮件激活账号的例子了,本来想着应该千篇一律的,但是这里使用阿里邮箱发送邮件略有不同,更改配置之后总是报错,所以这里记录一下,为以后再次搭建方便,同时如果遇到同样问题的你看到这篇博客解决了,那就更好了。先了解一下基本的配置元素的概念:什么是POP3、SMTP?1、什么是POP3:POP3是Post Office Protocol3的简称,即邮局协议的第3个版本,原创 2017-09-19 14:02:13 · 17784 阅读 · 4 评论 -
List,Set和Map详解及其区别和他们分别适用的场景
Java中的集合包括三大类,它们是Set(集)、List(列表)和Map(映射),它们都处于java.util包中,Set、List和Map都是接口,它们有各自的实现类。Set的实现类主要有HashSet和TreeSet,List的实现类主要有ArrayList,Map的实现类主要有HashMap和TreeMap。Collection是最基本的集合接口,声明了适用于JAVA集合的通用方法,li原创 2017-02-07 12:32:15 · 7088 阅读 · 1 评论 -
根据实例详解Java中的反射机制
概念:JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。作用:Java反射机制主要提供了以下功能: 在运行时判断任意一个对象所属的类;在运行时构造任意一个类的对象;在运行时判断任意一个类所具有的成员变量和方法;在运行时调用任意一个原创 2017-05-03 21:22:26 · 2207 阅读 · 0 评论 -
关于Calendar用法的一些总结
Calendar是一个抽象类,主要用来操作日历时间字段。在java.util.Calendar包中,Calendar在开发中基本都会使用得到,这里对经常使用到的做个总结,也可能有遗漏,遇到再补,慢慢完善。常用的方法abstract void add(int field, int amount) 此方法添加或减去指定的时间量,以给定日历字段,基于日历的规则原创 2017-07-27 21:49:03 · 3529 阅读 · 0 评论 -
Java使用iText实现对PDF文件的操作
iText是著名的开放项目,是用于生成PDF文档的一个java类库。通过iText不仅可以生成PDF或rtf的文档,而且可以将XML、Html文件转化为PDF文件。http://itextpdf.com/版本:itextpdf-5.2.1.jar,文末附下载链接需要注意的是,IText使用的单位是pt而不是px,一帮情况下要想保持原来px的大小需要将px*3/41、生成一个PDF ...转载 2017-08-09 14:56:32 · 39845 阅读 · 6 评论 -
EL表达式和JSTL标签库使用
EL表达式介绍:EL(Expression Language) 目的:为了使JSP写起来更加简单。 表达式语言的灵感来自于 ECMAScript 和 XPath 表达式语言,它提供了在 JSP 中简化表达式的方法。它是一种简单的语言,基于可用的命名空间(PageContext 属性)、嵌套属性和对集合、操作符(算术型、关系型和逻辑型)的访问符、映射到 Java 类中静态方法原创 2017-08-06 21:18:44 · 3667 阅读 · 0 评论 -
Java实现邮箱激活账户实例
在网站注册时一般都会要验证注册用户身份的合法性,通常的做法是提供手机号验证或者邮箱验证。手机验证:填写手机号码,点击发送验证码,接收后填写验证码比对,无误后注册成功。邮箱验证:注册时填写邮箱账号,点击注册,网站邮箱会给该邮箱发送一封激活邮件,用户点击后激活该账号。 这里通过实例来介绍一下邮箱验证的实现过程,例子可以运行,暂时没有发现什么问题,不过也可能有不安全的地方,欢迎大家指正。原创 2017-07-24 22:39:34 · 8856 阅读 · 7 评论 -
项目管理工具之maven
一,maven的介绍Maven是一个项目管理工具,它包含了一个项目对象模型,一组标准集合,一个项目生命周期,一个依赖管理系统和用来运行定义在生命周期阶段中插件目标的逻辑。简单来说,maven的作用是通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具。标准目录结构:src -main –bin脚本库 –java java源代码文件原创 2017-07-22 18:39:53 · 2173 阅读 · 0 评论 -
错误记录(三)identity和assigned 的区别
“org.hibernate.id.IdentifierGenerationException: ids for this class must be manually assigned before calling save(): ”的错误原因原创 2016-12-18 11:45:42 · 3986 阅读 · 0 评论 -
spring整合应用安全框架Shiro
Shiro的介绍 Apache Shiro是一个强大易用的Java安全框架,它提供的主要功能有: 认证 -——用户身份识别,常被称为用户“登录”; 授权—— 访问控制;密码加密——保护或隐藏数据防止被偷窥;会话管理——每用户相关的时间敏感的状态。Shiro的三个核心组件(Subject,SecurityManager 和 Realms)介绍Subjec原创 2017-07-17 21:46:22 · 2531 阅读 · 1 评论 -
springMVC数据格式转换的三种实现
在Java的开发中,经常需要进行数据类型的转换,最常见的就是字符型转成Date类型存入数据库。以下介绍三种数据类型转换的方法。一,使用ConversionService转换数据二,使用自定义编辑器转换数据三,注册全局自定义编辑器转换数据1, 使用ConversionService转换数据类型,需要自定义一个转换器,在该转换器类中实现所需要的数据类型的转换,该类需要实现Conv原创 2017-07-19 14:11:46 · 5294 阅读 · 0 评论 -
SiteMesh框架统一布局用法介绍
SiteMesh 是一个网页布局和修饰的框架,基于 Servlet 中的 Filter,类似于 ASP.NET 中的‘母版页’技术。介绍:SiteMesh是OpenSymphony团队开发的JEE框架之一,它是一个非常优秀的页面装饰器框架。它通过对所有的用户请求进行过滤,并对服务器向客户端响应也进行过滤,从而给原始的服务器响应加入一定的装饰,可以是header,footer等。然后将经原创 2017-07-11 11:58:16 · 10599 阅读 · 1 评论 -
Java实现邮箱找回密码
通过邮件找回密码功能的实现1、最近开发一个系统,有个需求就是,忘记密码后通过邮箱找回。现在的系统在注册的时候都会强制输入邮箱,其一目的就是 通过邮件绑定找回,可以进行密码找回。通过java发送邮件的功能我就不说了,重点讲找回密码。2、参考别人的思路:发送邮件→请求邮件里的URL→验证url→{验证成功修改密码,不成功跳转到失败页面}重点就是如何生成这个url和如何解析这个u转载 2017-07-04 20:11:20 · 3568 阅读 · 0 评论 -
Java爬虫实践--爬取优快云网站图片为例
实现的效果,自动在工程下创建Pictures文件夹,根据网站URL爬取图片,层层获取。在Pictures下以网站的层级URL命名文件夹,用来装该层URL下的图片。同时将文件名,路径,URL插入数据库,便于索引。第一步,创建持久层类,用来存储文件名,路径以及URL。package org.amuxia.demo;import java.sql.Connection;import jav原创 2017-06-26 19:47:36 · 5234 阅读 · 10 评论 -
JSON详解
JSON的全称是”JavaScript Object Notation”,意思是JavaScript对象表示法,它是一种基于文本,独立于语言的轻量级数据交换格式。XML也是一种数据交换格式,为什么没有选择XML呢?因为XML虽然可以作为跨平台的数据交换格式,但是在JS(JavaScript的简写)中处理XML非常不方便,同时XML标记比数据多,增加了交换产生的流量,而JSON没有附加的任何标记转载 2017-06-25 10:19:34 · 1930 阅读 · 4 评论 -
tomcat——轻量级中间件学习
Tomcat文件结构 ${tomcat目录} |--bin/ |--conf/ | |--context.xml | |--server.xml | |--tomcat-users.xml | +--web.xml | |--lib/ |--logs/ +--webapps/ Bin 存放启动和关闭tomcat脚本conf原创 2017-06-21 21:11:56 · 5365 阅读 · 0 评论 -
SpringMVC中使用@RequestBody,@ResponseBody注解实现Java对象和XML/JSON数据自动转换)
Spring3.1开始使用新的HandlerMapping 和 HandlerAdapter 来支持@Contoller 和@RequestMapping注解处理:处理器映射RequestMappingHandlerMapping和处理器适配器RequestMappingHandlerAdapter组合来代替Spring2.5 开始的处理器映射DefaultAnnotationHandlerMap转载 2017-06-21 16:59:10 · 2926 阅读 · 1 评论 -
SpringMVC+MyBatis+MySQL实现分页
最近在使用SSM框架实现一个商品信息展示的功能,商品的数据较多,不免用到分页,查了一番MyBatis分页的做法,终于是实现了,在这里记录下来。 首先写一个分页的工具类,定义当前页数,总页数,每页显示多少等属性。/** * 分页 工具类 */ public class Page implements Serializable { private static final原创 2017-06-22 16:27:41 · 4324 阅读 · 13 评论 -
MyBatis知识点学习
MyBatis中文官方文档:http://www.mybatis.org/mybatis-3/zh/getting-started.html(这大概是最好的学习材料了)什么是 MyBatis ?官方解释:MyBatis 是支持定制化 SQL、存储过程以及高级映射的优秀的持久层框架。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以对配置和原生原创 2017-06-07 14:34:19 · 1068 阅读 · 0 评论 -
MyBatis中的一级缓存和二级缓存介绍
先说缓存,合理使用缓存是优化中最常见的,将从数据库中查询出来的数据放入缓存中,下次使用时不必从数据库查询,而是直接从缓存中读取,避免频繁操作数据库,减轻数据库的压力,同时提高系统性能。一级缓存一级缓存是SqlSession级别的缓存。在操作数据库时需要构造sqlSession对象,在对象中有一个数据结构用于存储缓存数据。不同的sqlSession之间的缓存数据区域是互相不影响的。也原创 2017-06-13 20:07:22 · 11106 阅读 · 17 评论 -
SSH实现进销存(ERP)项目之订单管理模块解析(附源码地址)
项目清单:1,struts2、hibernate、spring2,前后台传值使用json3,数据库使用了Oracle4,对员工表及采购单表采用了后端分页5,使用了时间控件项目结构,MVC模式,比较常见的项目结构:代码较多,把关键的部分介绍一下,对于采购单,他的查询及显示流程。这里贴出BuyAction.java中的这部分代码:/** * @r原创 2017-06-14 14:50:19 · 5687 阅读 · 4 评论 -
封装JDBC—非框架开发必备的封装类
一些小型的项目,有时不想使用框架如MyBatis,Hibernate等开发时,往往在数据持久化时操作比较繁琐,以下提供了对JDBC的封装类,简化JDBC操作。为了更客观展示MyJDBC,我们通过一般的JDBC连接数据库的增删改查来对比。JDBC连接数据库操作通常的做法都是先建立一个公共类,来配置数据库信息,加载驱动等,这里不展示公共类(网上到处都是)。以下对比增删改查:增(通常的代原创 2017-06-07 21:43:48 · 9251 阅读 · 5 评论 -
关于spring的配置文件总结
spring比较庞大,很多功能实现依赖配置文件,比较繁琐的配置文件确实比较头疼,这里通过查阅,上网等方法总结了关于spring配置文件的内容,如果有不全或者失误之处希望大家多多指正。这里是配置文件的根节点,所有配置在beans中,内可以包含多个bean xmlns=http://www.springframework.org/schema/beansxmlns:是X原创 2017-06-03 14:02:18 · 14303 阅读 · 3 评论 -
Spring事务配置的五种方式和spring里面事务的传播属性和事务隔离级别
spring事务配置的五种方式前段时间对Spring的事务配置做了比较深入的研究,在此之间对Spring的事务配置虽说也配置过,但是一直没有一个清楚的认识。通过这次的学习发觉Spring的事务配置只要把思路理清,还是比较好掌握的。 总结如下: Spring配置文件中关于事务配置总是由三个组成部分,分别是DataSource、TransactionManager和代理机制转载 2017-06-01 11:05:54 · 1869 阅读 · 0 评论 -
FreeMarker模版引擎实现导出world文档到本地
http://freemarker.org/Freemarker官网,英文,可以用谷歌浏览器的自动翻译,英文水平高的忽略这句。。简单来说:FreeMarker是一个模板引擎,一个基于模板生成文本输出的通用工具,使用纯Java编写。FreeMarker被设计用来生成HTMLWeb页面,特别是基于MVC模式的应用程序。这里使用freemarker生成Word文档,非常方便。惯例,先看看原创 2017-05-26 10:19:48 · 5003 阅读 · 2 评论 -
ssh+json开发实例
ssh整合+json实现增删改查,一个标准的Demo,可以按这个模式开发,感觉蛮方便的,记录下来,避免忘记。数据库:Oracle;平台:myeclipse项目结构:POJO类和映射文件:package org.jvsun.pojo;/** * UserInfo entity. @author MyEclipse Persistence Tools */p原创 2017-05-25 09:53:20 · 2595 阅读 · 2 评论 -
spring中定时器的使用
在很多实际的web应用中,都有需要定时实现的服务,如每天12点推送个新闻,每隔一个小时提醒用户休息一下眼睛,隔一段时间检测用户是否离线等等。spring框架提供了对定时器的支持,通过配置文件就可以很好的实现定时器,只需要应用启动,就自动启动定时器。下面介绍一下具体做法。第一种,使用XML配置的方法前期工作,配置spring的开发环境(这里用到了spring的web应用包,需要导入)原创 2017-05-21 12:48:45 · 3339 阅读 · 4 评论 -
Spring AOP中的前置通知和后置通知详解
不同版本的spring对AOP的支持有所不同,spring2.0之前,它主要针对不同类型的拦截器使用XML配置文件通过代理来实现。而spring2.0之后,它可以使用JDK5的注解来完成AOP的实现,只是几个简单标签就可以完成,使得开发更加简单,便捷。所以推荐使用后一种方法。但是很多旧的项目中使用了前一种实现方法,所以我们也应该对第一种方法有所掌握。首先通过代码介绍spring2.0之原创 2017-05-19 18:20:53 · 13242 阅读 · 1 评论 -
struts2的国际化(即实现网站整体中英文切换)实例
推荐一个专注于Java的小众技术社区:Java之音 环境要求:Struts2框架环境搭建成功为了实现程序的国际化,必须先提供程序所需要的资源文件。资源文件的内容基本是key-value对,其中key是程序使用的部分,而value是程序的显示部分。 资源文件的命名可以是如下3种形式: baseName_language_country.properties...原创 2017-05-18 21:19:00 · 13794 阅读 · 1 评论 -
spring框架中Bean的基本属性及调用外部properties等配置文件的方法介绍
Bean的基本属性 id属性: Bean的唯一标识名。它必须是合法的XML ID,在配置文件中,不能有重复id的Bean,因为容器在获取Bean的实例时都用它来做唯一索引。name属性: 用来为id创建一个或多个别名。它可以是任意的字母符合。多个别名之间用逗号,封号或空格分开。class属性: 用来定义类的全限定名(包名+类名),class属性指明了Bean的来源。原创 2017-05-17 20:06:11 · 3683 阅读 · 5 评论 -
spring之Bean的生命周期
Bean的生命周期:Bean的定义——Bean的初始化——Bean的使用——Bean的销毁Bean的定义Bean 是 Spring 装配的组件模型,一切实体类都可以配置成一个 Bean ,进而就可以在任何其他的 Bean 中使用,一个 Bean 也可以不是指定的实体类,这就是抽象 Bean 。Bean的初始化Spring中bean的初始化回调有两种方法一种是在配置文件中声明原创 2017-05-16 23:58:40 · 1930 阅读 · 2 评论 -
Spring依赖注入的两种方式(根据实例详解)
1,Set注入 2,构造注入Set方法注入:原理:通过类的setter方法完成依赖关系的设置name属性的取值依setter方法名而定,要求这个类里面这个对应的属性必须有setter方法。Set方法注入时spring中配置文件:<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="原创 2017-05-16 16:11:07 · 3222 阅读 · 0 评论