- 博客(41)
- 收藏
- 关注
原创 jfinal框架搭建,以登录注册为例
登录注册的实现流程本节课,讲的是如何用jfinal实现简单的登录注册模块。先说一下,我这里的bug,同一个用户同密码可以注册多次,就是数据库会出现多条主键userid不同,但账号密码相同的记录;正常的数据库不是这样的,而且前端是会显示该用户已注册的。由于时间关系,我就没有把demo完善。 我的登录注册的逻辑如下: 页面分为三种: A:登录页面;B:登录以后跳转到固定的页面;C:非A和B的...
2018-06-03 01:00:38 1012
原创 Java后台+前端端,获取图片云链接
本节课讲的是如何利用表单上传图片到七牛云。业务逻辑与开发准备请参考参考 https://blog.csdn.net/qq_30832659/article/details/80467605 这篇博客。写程序本节内容分为前端与Java后台,前端 利用QiNiu.html上传图片, QiNiu.html<!DOCTYPE html><...
2018-05-27 12:21:38 1880
原创 Java后台+微信端,获取图片云链接
本节课,我讲的是微信小程序结合七牛云上传图片。仅仅讲如何上传图片并得到图片的云链接。 首先,先到官网,https://developer.qiniu.com/kodo/manual/1205/programming-model 了解一下大致的业务流程,业务流程客户端在上传资源到七牛云存储之前要先从业务服务器获取一个有效的上传凭证,因此需要先后和两个服务端打交道。 由此图可知,...
2018-05-27 10:52:54 2139
原创 过滤器拦截器(第一节课)
IOC 要了解控制反转( Inversion of Control ), 我觉得有必要先了解软件设计的一个重要思想:依赖倒置原则(Dependency Inversion Principle )。 什么是依赖倒置原则?假设我们设计一辆汽车:先设计轮子,然后根据轮子大小设计底盘,接着根据底盘设计车身,最后根据车身设计好整个汽车。这里就出现了一个“依赖”关系:汽车依赖车身,车身依赖底盘,底盘依赖轮...
2018-03-23 12:14:50 247
原创 JBPM的安装与使用(一)
一,插件下载地址 JBPM是常用的工作流引擎之一,本文采用的是Eclipse neon +JBPM4.4 JBPM4.4下载网址 antlr下载地址 Ant下载地址二 安装插件 这里需要使用eclipse升级机制安装,因为jbpm-gdp-site.zip包为更新站点(archived update site)的压缩包,这文件路径:./jbpm-4.4/install/src/gpd/j
2017-10-19 12:41:59 529
原创 数据结构与时间复杂度
什么是数据结构? 数据元素相互之间的关系称为结构,数据结构是相互之间存在一种或多种特定关系的数据元素的集合。数据结构包括三个方面的内容:逻辑结构,存储结构,和数据运算。数据的逻辑结构和存储结构是密不可分的两个方面。一个算法的设计取决于所选定的逻辑结构,而算法的实现依赖于所采用的存储结构。数据的逻辑结构 集合:结构中的数据元素之间除了“同属于一个集合”的关系外,别无其他的关系线性结构:结构中的数据
2017-02-24 15:29:17 816
原创 计算机系统概述
计算机的四代 ①电子管时代。特点:逻辑原件采用电子管,使用机器语言编程 ②晶体管时代。特点:逻辑原件采用晶体管,软件开始使用高级语言 ③中小规模集成电路时代。特点:逻辑原件采用中小规模继承电路,出现了半导体存储器,开始有了分时操作系统 ④超大规模集成电路。逻辑原件采用了大规模集成电路,并产生了微处理器。计算机组成摩尔定律:当价格不变是,集成电路上可容纳的晶体
2017-02-20 14:55:50 499
原创 string转LPCWSTR
在写共享内存的时候,要将CB中的string 转换为LPCWSTR首先我们要在头文件中包含#include”string”std::string strMapName = "ShareMemory";//********************string转LPCWSTR需要写个函数 size_t origsize = strMapName.length() + 1;
2016-12-20 20:26:31 945
原创 拆箱和装箱
我们初学Java的时候往往不理解为什么有装箱和拆箱,也不明白其工作原理int i=0;Integer j = new Integer(0);System.out.println(i==j);System.out.println(j.equals(i));运行结果: true,true我们总结一下用法: 1、基本型和基本型封装型进行“==”运算符的比较,基本型封装型将会自动拆箱变为基本型后再
2016-11-04 11:33:39 361
转载 堆和栈的区别
一、预备知识—程序的内存分配 一个由C/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其 操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回 收 。注意它与数据结构中的堆是两回事,分配方式倒是类似
2016-11-04 11:24:44 191
原创 线程安全
线程安全概念: 如果你的代码所在的进程中有多个线程在同时运行,而这些线程可能会同时运行这段代码。如果每次运行结果和单线程运行的结果是一样的,而且其他的变量的值也和预期的是一样的,就是线程安全的。线程安全问题都是由全局变量及静态变量引起的。若每个线程中对全局变量、静态变量只有读操作,而无写操作,一般来说,这个全局变量是线程安全的;若有多个线程同时执行写操作,一般都需要考虑线程同步,否则的话就可能影响
2016-11-01 18:58:40 227
原创 两个最基本的java回收算法
两个最基本的java回收算法:复制算法和标记清理算法 复制算法:两个区域A和B,初始对象在A,继续存活的对象被转移到B。此为新生代最常用的算法 标记清理:一块区域,标记要回收的对象,然后回收,一定会出现碎片,那么引出 标记-整理算法:多了碎片整理,整理出更大的内存放更大的对象 两个概念:新生代和年
2016-11-01 18:47:00 341
原创 JAVA笔记
Hashmap采用拉链法解决冲突super.getClass().getName() 返回:包名+类名接口允许定义成员,但必须是常量。
2016-11-01 18:43:36 217
原创 浅析JAVA中的抽象类
abstract class Animal{ abstract void say();}public class Cat extends Animal{ public Cat(){ System.out.printf("I am a cat"); } public static void main(String[] args) {
2016-11-01 18:18:35 611
原创 JAVA中异常的使用
public class TestDemo { public static String output =""; public static void foo(int i){ try{ if(i == 1){ throw new Exception(); } }catch
2016-11-01 18:12:59 382
原创 JAVA中锁的问题
public class HelloSogou{ public static synchronized void main(String[] a){ Thread t=new Thread(){ public void run(){Sogou();} }; t.run(); System.out.print("Hel
2016-11-01 18:07:08 430
原创 弱类型语言和强类型语言
脚本语言( JavaScript , Python 等,是弱类型语言)介于 HTML 和 C , C++ ,Java, C# (强类型语言)等编程语言之间编译型语言:需要一个专门的编译过程,把程序编译成为机器语言的文件,比如exe文件,以后要运行的话就不用重新翻译了,直接使用编译的结果就行了(exe文件),因为翻译只做了一次,运行时不需要翻译,所以编译型语言的程序执行效率高。 ex: C/C++
2016-11-01 18:05:16 1661 1
原创 如何修改tomcat端口号
修改tomcat端口号的方法: 修改Server.xml文件,把8080端口改成80就可以了。 8080是Tomcat服务器的默认的端口号。我们可以通过修改Tomcat服务器的conf目录下的主配置文件server.xml来更改.用记事本打开server.xml文件,找到如下部分: 将其中的port=”8080”更改为新的端口号即可,如将“8080”改为“9080”等。
2016-10-27 17:19:02 764
转载 java.lang.ClassNotFoundException: org.apache.struts2.views.gxp.inject.InjectedObjectContainer
报错信息:Caused by: Java.lang.ClassNotFoundException: org.apache.struts2.views.gxp.inject.InjectedObjectContainerat org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1680)at org
2016-10-26 11:35:10 2339
原创 Annotation注解的使用
所谓注解,其实就是代码里的特殊标记,这些标记可以在编译,类加载,运行的时被程序识别,并执行相应的行为。 值得指出的是,Annotation不影响程序代码的执行,无论删除,增加Annotation,代码都始终如一的执行。五个基本Annotation@Override@Deprecated@Suppress Warnings@Safe Varargs@FunctionalInterface@
2016-10-25 23:25:31 614
原创 解决字符集乱码方法集合
首先我们更改request和response的字符集 request.setCharacterEncoding("UTF-8"); response.setCharacterEncoding("UTF-8");如果数据库写入乱码,我们可以在urlClass.forName("com.mysql.jdbc.Driver");String url="jdbc:mysql://localh
2016-10-25 16:23:57 1358
原创 JAVA读取XML
接上一篇,这一期我们只写一个主函数 public static void main(String[] args) { // 解析books.xml文件 // 创建SAXReader的对象reader SAXReader reader = new SAXReader(); try { // 通过reader对
2016-10-25 15:48:20 350
原创 JAVA写入XML文件
首先我们需要DOM4j 百度下载就有0.0 如何配置jar包 就小提一下吧 项目名->bulid path->configure Bulid path 然后把你的jar包加进来接下来我们先介绍一下XML必须注意的东西XML文档必须有一个顶层元素,其他元素必须嵌入在顶层元素中每个元素必须同时拥有起始和介绍标记在一个元素节点中,属性名不能重复 好 ,我们看一个例子 其中CDATA段
2016-10-25 15:17:50 783
原创 文件下载
首先Servletimport java.io.File;import java.io.FileInputStream;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import javax.servlet.ServletException;import javax.ser
2016-10-24 21:34:43 258
原创 文件上传
在Servlet3.0中就无需配置XML的文件 代码:import java.io.IOException;import java.io.PrintWriter;import javax.servlet.ServletException;import javax.servlet.annotation.MultipartConfig;import javax.servlet.annotatio
2016-10-17 22:02:05 407
转载 JAVA校招面试题
具体是哪家公司的就不说了,反正我不记得,也没我份。。。。另外,问题是别人的,答案是自己的,不保证是否正确。1、线程的实现方式有几种?分别是什么?俩种,一种是继承Thread类,一种是实现Runnable接口,常用第二种,因为收到了java单继承的限制。2、java的特点是什么?有哪些特性?我的回答是:面向对象,主要包含以下三个特性:封装、多态、继承此外,还有五大基本原则:(1)单一职责原则(Sing
2016-09-28 11:33:34 1185
原创 JSP+Servlet+JavaBean实现用户登陆,用户退出
注册还是沿用上一期的表和数据库 先看看文件布局 先看看JavaBean的设计User.javapackage model;/** * 用户实体类 */public class User { private int id; // 标识 private String username;// 用户名 private String password;/
2016-09-27 17:47:46 8553 2
原创 后台验证码
废话不多说,直接上代码。先看看文件的位置 ValidateCodeServlet.javaimport java.awt.Color;import java.awt.Font;import java.awt.Graphics;import java.awt.image.BufferedImage;import java.io.IOException;import java.util.
2016-09-23 23:27:02 498
原创 第一站-部署开发工具
首先我们要注册一个微信开发者的账号,注册地址 然后我们就要开始配置开发环境。我们选择主流的ngrok.注册地址 注册之后填写ngrok信息 下面是填写的规范 下载地址 下载后之后: 在这里输入客户端id以后 然后再web服务器上输入你的转发地址: 我的是:zhouwei.ngrok.cc(事先请启动tomcat服务器) 接下来就是和微信后台的对接我们进入开发
2016-09-23 14:50:09 312
转载 jsp页面写入中文到mysql时出现了乱码
今天自己在用jsp把中文写入mysql的时候出现乱码,从数据库中读取出来的时候也显示为“??”,感觉应该出现了编码转换过程中的字符信息丢失。然后在mysql中直接执行该命令,发现中文是正常的,所有认为是在往数据库中写中文的时候出现了问题。 在网上找了一会,发现不少解决方法,就转了一篇 过来,这个刚好能解决自己的问题。 在此表示感谢。 今天遇到了在jsp页面写入中文到my
2016-09-22 15:47:05 1058
原创 JSP与Servlet实现用户注册
JSP最令我痴迷的地方在于其神奇的Servlet映射,映射一直是现在网站开发,MVC ,SSH框架都必备的最重要的基础技能。 我们今天就用用户注册的实例来讲解Servlet的用法 下面是我提前建好的数据库: 首先我们新建一个Dynamic Web Project(动态网页) 我们在src文件下新建一个包,并创建一个servlet:RegServlet 一个新的servlet具有以下的基
2016-09-22 15:41:37 13543 4
转载 tomcat在eclipse中启动成功,主页却打不开
博主好久没用J2EE,今天做完一个Demo的时候发现了如下问题,折腾了半天才弄好,可能大家以后也会碰到,就在此留下解决方法症状: tomcat在eclipse里面能正常启动,而在浏览器中访问http://localhost:8080/不能访问,且报404错误。同时其他项目页面也不能访问。 关闭eclipse里面的tomcat,在tomcat安装目录下双击startup.bat手动启动tomcat
2016-09-21 20:48:23 2407
原创 java基础的总结
JAVA的特殊之处:既要编译又要解释。(编译器)编译生成JAVA字节码(中性代码.class)。解释器是JVM实现的,将字节码转换为底层平台的机器码。(一次编程,到处运行的机理) Java由两个部分组成:①JVM (java Virtual Machine)② Java API(Java类库集合,以包的形式组织)。 Java的几大重要特点:简单,面向对象,分布式,解释性语言。 Java基本组成
2016-09-19 10:10:29 361
原创 集合类
框架图镇博 一个集合对象或一个容器表示一组对象,集合中的对象称为元素。上述所有的集合类,都实现了Iterator接口,这是一个用于遍历集合中元素的接口,主要包含hashNext(),next(),remove()三种方法。它的一个子接口LinkedIterator在它的基础上又添加了三种方法,分别是add(),previous(),hasPrevious()。也就是说如果是先Iterator接
2016-09-19 10:07:09 946 1
原创 选择排序
选择排序的原理就是 从第一个数开始视为最小的数,并将下标记为min,然后依次与后面的数进行比较,如果碰见更小的数,就将min换成此数的下标。直到一轮比较完,最小的数和第一个数进行交换。然后再从第二个数开始重复上面的操作。进行N次(N个数排序); po出源码:public class Choose { public static void main(String[] args) {
2016-09-18 17:18:45 317
原创 快速排序
首先我们讲到排序考的最多的就是————快速排序 其中的原理讲解,我选择了嘻哈算法中的讲解。下面看图 分别从初始序列“6 1 2 7 9 3 4 5 10 8”两端开始“探测”。先从右往左找一个小于6的数,再从左往右找一个大于6的数,然后交换他们。这里可以用两个变量i和j,分别指向序列最左边和最右边。我们为这两个变量起个好听的名字“哨兵i”和“哨兵j”。刚开始的时候让哨兵i指向序列的
2016-09-14 11:51:10 472 1
原创 this和super关键字
在面向对象的程序设计语言中,类和对象的概念一直贯穿于整个编程思想。简单来说,类是现实世界的抽象化,是对一类事物的一个泛指,如人(当然黄种人,黑种人,白种人也都可以称之为一个类),而对象就是类的实例化,如你,我,他,就是一个对象。是一个具体存在的东西。接下来就要介绍今天的重点,this引用和super关键字。为什么仅此两个关键字就能单独的开一篇 第一,在博主学习JAVA的过程中,无论是自己写代码,还
2016-09-14 08:19:59 734
原创 基于验证码模拟登录的爬虫
上一篇博客我们讲到没有验证码的登陆跳转和信息抓取,对于部分有验证码登陆跳转我们又该怎么做到模拟登陆呢。 首先,还是先说下我们的外部库 我们这次模拟登陆的是拉手网。 http://www.lashou.com/account/login/ 然后我们查看服务器验证码的网址: 当然这样查看得到的是相对地址,我们肯定要得到绝对地址才能获取到验证码的图片,下面的代码会给出如何直接获取绝对地址
2016-09-13 17:52:15 632
原创 基于OpenCV的全景图剪切程序
去年实习的时候,接到一个任务将公司软件生成的一张全景图扭曲切割成六个正常的面,然后动态生成一个3D网页。忙活了2天后完成代码。但最终因为某些原因未被采用。 首先配置OpenCV。 找寻了众多资料,找了一个算是我觉得最靠谱的:http://tieba.baidu.com/p/3931605400安装好OpenCV以后我们来看原始图片 全景图的剪切原理我也不一一叙述了,贴出详细的原理解释: ht
2016-09-10 14:01:47 4217 4
原创 用于登陆后的信息收集爬虫
有时候我们需要的用户信息是要通过用户登录后得到,这些信息其实也可以通过爬虫获得。 本Demo中用到的2个外部库 org.jsoup,jxl(用于写EXCEL), 同样以中南财经政法大学教务处学生个人信息系统为例: 网址:http://202.114.224.81:7777/zhxt_bks/zhxt_bks.html 接下来就是查看网页源码,即找到传递账号密码的目的地址 http://
2016-09-09 18:56:39 520
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人