
java
bobli
java Hadoop mysql html ajax php 安全
展开
-
Servlet输出验证码
图片验证码的原理:Client在登录时会收到服务器生成的一个包含随机字符串的验证码图片,用户需要填写好对应图片的字符才能提交数据。由于字符串保存在图片中,因此机器很难识别,进而达到防止有些人使用计算机恶意程序搞破坏的目的。效果图:相关代码如下:IdentityServlet.javapackage com.li.servlet;import java.a原创 2013-01-27 10:38:03 · 1141 阅读 · 9 评论 -
Struts2中Session的使用
在Struts2里,如果需要在Action中使用session,可以通过下面两种方式得到 1.通过ActionContext class中的方法getSession得到 2.Action实现org.apache.struts2.interceptor.SessionAware接口的方式来对session进行操作 下面先看一个采用第一种方式,在action中得到session转载 2013-08-14 09:35:03 · 738 阅读 · 0 评论 -
Struts2+JQuery+JSON实现异步交互
Struts2+JQuery+JSON实现异步交互,包括从后台获得单个值、对象、List和Map数据并从前台的表达中获取值把值进行序列化通过JQuery的$.ajax({})传到后台和后台的对象进行绑定。第一步:在MyEclipse中创建JavaWeb工厂并把Struts2 和 json的jar包添加到工程中添加完成后的工程图是: 第二步:创建后台: 1. UserInfo实体类转载 2013-08-14 09:39:59 · 805 阅读 · 0 评论 -
Struts2再爆远程代码执行漏洞
Struts2再爆远程代码执行漏洞st4rw00d @漏洞 2013-05-22 共 19242 人围观 摘要 Apache官方的struts2产品,最近出了一个远程代码执行漏洞,编号“S2-013”,目前是0DAY,官方没有修补方案出现。http://struts.apache.org/development/2.x/docs/security-bulletins.转载 2013-08-14 09:53:48 · 1003 阅读 · 0 评论 -
struts 2学习笔记—浅谈struts的线程安全
Struts 1中所有的Action都只有一个实例,该Action实例会被反复使用。而Struts 2中每个Action都会有多个实例,意思就是说每次处理一个请求时都会生成一个Action实例,这些实例彼此独立,处理完毕就会被销毁。因此Struts 1中的Action是线程不安全的,Struts 2中的Action是线程安全的。由于Action中没有其他特殊资源,使用完毕就会被销毁,不会造成资源占原创 2013-08-13 22:05:53 · 1147 阅读 · 0 评论 -
struts2 最新S2-016-S2-017漏洞通杀struts2所有版本
转载 2013-08-14 09:09:47 · 1087 阅读 · 0 评论 -
struts2和strut1相比有什么不同?struts2有哪些优点?
Action 类:• Struts1要求Action类继承一个抽象基类。Struts1的一个普遍问题是使用抽象类编程而不是接口。• Struts 2 Action类可以实现一个Action接口,也可实现其他接口,使可选和定制的服务成为可能。Struts2提供一个ActionSupport基类去实现 常用的接口。Action接口不是必须的,任何有execute标识的POJO对象都可以用作St转载 2013-08-14 09:12:52 · 937 阅读 · 0 评论 -
Struts2框架安全缺陷
摘要本文介绍了java开发流行框架struts2以及webwork的一些安全缺陷,并举例说明框架本身以及开发人员使用框架时,所产生的种种安全问题,以及作者挖掘框架安全漏洞的一些心得体会。推荐以下人群阅读了解java开发了解框架开发了解web application安全“网络安全爱好者”正文当前java开发网站,通常不会是纯JSP的,大都使用了java frame转载 2013-08-14 09:17:34 · 1541 阅读 · 0 评论 -
javaio学习笔记-字符流类(1)
1.java.io包中的字符流类-BufferedReader和BufferedWriter:BufferedReader:缓存的输入字符流;BufferedWriter:缓存的输出字符流;InputStreamReader:将字节转换成字符的输入流;OutputStreamWriter:将字符转换成字节的输出流;2.实例-读取字符:import java.io.Buf原创 2013-08-29 10:38:59 · 1483 阅读 · 2 评论 -
javaio学习笔记-字符流类(2)
1.java.io包中的字符流类-BufferedReader和BufferedWriter:BufferedReader:缓存的输入字符流;BufferedWriter:缓存的输出字符流;FileReader:从文件中读取内容的输入流;OutputStreamWriter:向文件中写入内容的输出流;注:Buffered缓冲区,它就是一个像水池的东西,往水池里放水,放满后,一次原创 2013-08-29 13:43:27 · 1937 阅读 · 0 评论 -
java多线程总结
这一篇文章主要关于java多线程,主要还是以例子来驱动的。因为讲解多线程的书籍和文章已经很多了,所以我也不好意思多说,呵呵、大家可以去参考一些那些书籍。我这个文章主要关于实际的一些问题。同时也算是我以后复习的资料吧,。呵呵大家多多指教。同时希望多结交一些技术上的朋友。谢谢。---------------------------------------------------------转载 2013-04-24 17:13:48 · 629 阅读 · 0 评论 -
java学习笔记-Thread
java定义了创建线程的两种方法1.实现Runnable接口2.扩展Thread类本身1.实现Runnable接口:可以依托任何Runnable接口的对象来创建线程。但是为了实现Runnable接口,类需要实现run()方法。创建了实现Runnable接口的类之后,可以在类中实例化Thread类型的对象。Thread类定义了几个构造函数,下面实例中使用的构造函数如下:Thr原创 2013-09-04 21:04:54 · 1490 阅读 · 0 评论 -
实现Runnable接口和扩展Thread使用场景
我们知道创建子线程的两个方式:实现Runnable接口和扩展Thread。扩展Thread类和实现Runnable接口的使用场景:Thread类定义了派生类可以重写的几个方法。在这些方法中,只有一个方法必须重写,即run()方法。当然,这也是实现Runnable接口时需要实现的方法。所以我认为:只有当类正在以某种方式增强或者修改时,才应当对类进行扩展。因此,如果不重写Thread类的其它方原创 2013-09-06 20:05:30 · 1980 阅读 · 0 评论 -
StringTokenizer类的用法
StringTokenizer是一个用来分隔String的应用类,相当于VB的split函数。1.构造函数public StringTokenizer(String str)public StringTokenizer(String str, String delim)public StringTokenizer(String str, String delim, booleanr转载 2013-09-02 10:14:31 · 1320 阅读 · 0 评论 -
JPA实体关系映射之注释
下面是我总结的JPA实体关系映射的注释写法:1.单向一对一@OneToMany(cascade = {CascadeType.ALL})@JoinColumn(name = "...")@JoinColumn注释的是保存表与表关系的字段.2.双向一对一(1)@OneToOne@JoinColumn(name = "...")@JoinColumn注释的是保存表与表关转载 2013-09-09 22:05:40 · 1612 阅读 · 0 评论 -
java学习笔记-继承中super关键字
背景:在java继承的概念中我们得知,被声明为私有的类成员对所属的类来说仍然是私有的。类之外的任何代码都不能访问,包括子类。super关键字的两种用法:1.用于调用超类的构造函数;2.用于访问超类中被子类的某个成员隐藏的成员;例:使用super调用超类的构造函数矩形实体代码:public class Rectangular { private double wid原创 2013-09-04 15:45:37 · 3289 阅读 · 1 评论 -
java 作用域 public private default protected 的差别
在Java中有四种不同的作用域,分别是 public protected default 和private,这四种不同的作用域的限制由前到后逐渐的增加。 现在来看看public的作用域,在所有的作用域中,public可谓是最宽松的,在编写类文件的时候,只要该类以public关键字修饰,那么这个类的类文件就必须以该类的简单类名来命名。在类的内部,被它修饰的无论是参数还是方法,都可以在任何地方访转载 2013-09-04 16:01:55 · 1169 阅读 · 0 评论 -
java学习笔记-ArrayUtil
ArrayUtils 拥有以下方法:toString将一个数组转换成String,用于打印数组isEquals判断两个数组是否相等,采用EqualsBuilder进行判断toMap将一个数组转换成Map,如果数组里是Entry则其Key与Value就是新Map的Key和Value,如果是Object[]则Object[0]为KeyObject[1]为Valueclone拷贝数组subarray转载 2013-09-17 19:13:52 · 1713 阅读 · 0 评论 -
struts 2学习笔记—初学struts 2
首先我学习了struts 1.x与struts 2的区别:1.struts 1.x的控制器类必须从Action类继承。2.struts 2的控制器类可以是一个普通的类,也可以是ActionSupport类的子类。3.struts 1.x使用一个名为ActionServlet的Servlet类来处理客户端请求。4.struts 2.x使用一个名为FilterDispatche原创 2013-08-13 21:53:55 · 942 阅读 · 0 评论 -
时间的计算类CaculateDate
时间的计算类CaculateDate可能会应用到的地方:1.商城计算一段时间内的商品数目;2.在一段时间内的访问量;原创 2013-08-10 20:04:04 · 1047 阅读 · 0 评论 -
static方法与实例方法区别
首先JVM会先把程序翻译成可执行文件.class文件。1.当我们调用一个类的时候,假如这个类里有import语句,import的类会在我们调用的这个类执行到new的时候加载,这是为了减少对内存的消耗。2.然后是对类中static方法一个总结:类中的方法分两种:类方法和实例方法。static修饰的就是类方法,不但可以被类创建的对象使用而且可以直接通过类名调用。而没有sta原创 2013-02-01 09:42:30 · 727 阅读 · 0 评论 -
投票统计—投票过滤器类的设计与实现
大家都知道,用户的投票不是每次都能成功,例如连续投票,因为这样的投票通常情况下为恶意投票,将导致投票的结果不真实。VoltLimitFilter类负责过滤投票者的信息,决定该次投票是否成功,该类中的doFilter()方法负责具体的过滤操作,该方法的完整代码如下:package com.filter;import java.io.IOException;import java.s原创 2013-04-01 21:03:30 · 3876 阅读 · 0 评论 -
投票统计—将IP转化成Long整型
在上一篇投票过滤器里我们看到的两条语句:String ip=request.getRemoteAddr();和long ipnum=StringHandler.getIpNum(ip);第一条不必多讲就是获取客户端的ip地址,第二条语句则是将我们获取的ip转换成长整型。这里调用了StringHandler类里面的静态方法getIpNum(String ip);下面就让我们来看看这个是怎么实现的:原创 2013-04-09 09:05:46 · 1070 阅读 · 0 评论 -
java web 解析ThreadLocal在持久层中的应用
应用背景:我们知道java web项目开发中不可避免的是连接数据库,这里我们设定数据库的连接及其对数据库的查询、更新、修改为持久层的操作。我们在web项目开发中对持久层操作不可缺少的利器是Hibernate。对于hibernate是什么、背景楼主就不一一解释了。好的!让我们进入主题:Hibernate里的Session为org.hibernate.Session,代表一次完整的数据库操作,原创 2013-01-31 20:34:26 · 3933 阅读 · 0 评论 -
java ArrayList代替数组
List接口背景:java.util.ArrayList类实现了java.util.List接口,所以要先认识一下List接口。List接口是java.util.Collection接口的子接口,而Collection接口则是java.lang.Iterable的子接口。Iterable接口要求实现一个iterator()方法。 使用List要知道以下几点:第一、使用List首先原创 2013-04-10 21:33:29 · 2776 阅读 · 0 评论 -
java File文件路径获取的几种方法
在java工程里,我们不可避免的会获取本地文件,以下我就介绍下类File创建一个file,文件的路径应该怎样写。File f = new File("src/com/util/db.xml");//直接new个File类f,那么文件的相对路径是相对于你的工程的,所以相对路径是这样写的;new **Class().getClass().getResourceAsStream("db.xml原创 2013-04-11 18:25:10 · 3738 阅读 · 0 评论 -
XMLReader—一个可以读取XML文件的java类
在我的博文java ArrayList代替数组中有个XMLReader类,这是一个可以读取XML文件的java类,它的实现过程是怎样的呢?接下来让我们看看XMLReader的实现过程:首先你要下载一个叫dom4j-1.6.1.jar包,XMLReader类会用到这个jar包。其次让我们看看一个数据库连接的XML文件时怎样的: <!DOCTYPE hibernate-configur原创 2013-04-12 14:48:13 · 2594 阅读 · 0 评论 -
java web获取上传的文件在服务器端的路径
这篇博文介绍java一个web工程,当你上传文件a.txt至服务器时,如何获取该a.txt在服务器端的绝对路径。假设我们知道某一类a与上传的文件属于同级目录下,那么使用以下语句:String path=a.getClass().getResource("/").getPath();将获取服务器端WEB-INF/classes/这个路径,进而获取到a.txt的绝对路径。原创 2013-04-26 21:16:42 · 4130 阅读 · 0 评论 -
java调用ip138实现ip地址查询
HttpClient不是一个浏览器,而是一个客户端HTTP传输类库。HttpClient作用是传输和接收HTTP消息。在HttpClient模块中用到了两个重要的类:HttpGet和HttpPost。这两个类分别用来提交HTTPGET和HTTPPOST请求。接下来我们将使用以上的理论作为基础,然后进行一次连接http://www.ip138.com/ips138.asp查询ip所在地的实践:原创 2013-04-18 21:26:09 · 5987 阅读 · 0 评论 -
JSP如何声明和使用错误处理页面
我们知道一个java web做的网站,当用户在使用时难免会有不当的操作,这些不当的操作可能会将web工程的路径暴露出来(即浏览器提示像500这样的错误)。为了预防这种情况 ,保护java web网站,我们在设计一个java web网站时会提前写一个error.jsp页面。而当页面出现错误时,就会跳转到该error.jsp页面进行处理,而不是提示像500这种错误。我们需要做两点:1.erro原创 2013-04-16 18:14:02 · 2076 阅读 · 0 评论 -
java web工程—在web.xml下配置异常处理界面
1 2<web-app version="2.4" 3 xmlns="http://java.sun.com/xml/ns/j2ee" 4 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 5 xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 6原创 2013-04-21 10:41:34 · 1441 阅读 · 0 评论 -
struts学习笔记—Action实例:保存用户信息到数据库(1)
1.在struts-config.xml中配置mysql数据源: <set-property property="driverClassName" value="com.mysql.jdbc.Driver" /> <set-property property="url" value="jdbc:mysql://localhost:3306/struts?chara原创 2013-07-04 18:33:39 · 1648 阅读 · 0 评论 -
struts学习笔记—FormBean
struts是开源软件。使用Struts的目的是为了帮助我们减少在运用MVC设计模型来开发Web应用的时间。如果我们想混合使用Servlets和JSP的优点来建立可扩展的应用,struts是一个不错的选择。原创 2013-07-04 16:58:41 · 1092 阅读 · 0 评论 -
struts学习笔记—Action实例:保存用户信息到数据库(2)
续struts学习笔记—Action实例:保存用户信息到数据库(1),这篇文章介绍personDAO代码,也就是保存我们用户信息的方法。public class PersonDAO { public void addPerson(Connection conn, Person person) throws SQLException{ // TODO Auto-generated met原创 2013-08-10 17:04:04 · 1381 阅读 · 0 评论 -
Java-Collections的sort方法对list进行排序
1.List中的对象实现Comparable接口:public class User implements Comparable{ private String name; private Integer order; public String getName() { return name; } public void原创 2013-08-10 23:37:19 · 1849 阅读 · 0 评论 -
Java程序员必备的七大全能
1、思想:必须掌握OOP的主要要求,这样使用Java开发的系统才能是真正的Java系统。 2、管理:必须熟悉使用ant完成工程管理的常用任务,例如工程编译、生成javadoc、生成jar、版本控制、自动测试。 3、API:Java的核心API是非常庞大的,但是有一些内容笔者认为是必须熟悉的,否则不可能熟练的运用Java,包括: ◆java.lang包下的80%以上的类转载 2013-08-23 19:58:46 · 1050 阅读 · 2 评论 -
JSON—接收服务器端传来的数据
1.服务器端传送json格式的数据代码如下(这里指在servlet类中的情况):import java.io.IOException;import java.io.PrintWriter;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.htt原创 2013-08-11 15:08:32 · 5111 阅读 · 0 评论 -
Myeclipse 9.1 、10通过注册机破解全过程
Myeclipse 9.1 、10通过注册机破解全过程 ——lschuangye对java环境配置我就不多说了。正题:1、在网上下载注册机压缩包(如果需要可以在优快云里找我的资源里面有http://download.youkuaiyun.com);2、将压缩包解压;3、编辑(右键->编辑)run.bat,内容为:ja转载 2013-01-30 21:51:59 · 1902 阅读 · 0 评论