Servlet生成验证码图片



Servlet生成验证码图片。

BufferedImage类介绍

生成验证码图片主要用到了一个BufferedImage类,如下:
这里写图片描述
创建一个ResponseDemo4 Servlet,用来生成验证码图片。

public class ResponseDemo4 extends HttpServlet {

    public static final int WIDTH = 120; // 生成的图片的宽度
    public static final int HEIGHT = 35; // 生成的图片的高度

    protected void doGet(Ht[......]

Read more

servlet动态生成图片并传回客户端



servlet动态生成图片并传回浏览器。在Web应用中,经常需要动态生成图片,比如实时股市行情,各种统计图等等,这种情况下,图片只能在服务器内存中动态生成并发送给用户,然后在浏览器中显示出来。

本质上,浏览器向服务器请求静态图片如jpeg时,服务器返回的仍然是标准的http响应,只不过http头的contentType不是text/HTML,而是image/jpeg而已,因此,我们在Servlet中只要设置好contentType,然后发送图像的数据流,浏览器就能正确解析并显示出图片。
在Java中,java.awt和java.awt.image包提供了基本的绘制图像的能力,我们可以在[......]

Read more

Servlet动态生成图片方法

Servlet动态生成图片方法。

在Web应用中,经常要动态生成图片,如实施股市行情,各种统计图等。在这种情况下,图片只能在服务器内存中动态生成并发送给客户端,然后在浏览器中显示出来。本质上,浏览器向服务器请求静态图片(如jpeg)时,服务器返回的仍然是标准的http响应,只不过http头的contentType属性不是text/html,而是image/jpeg。因此,在Servlet中只要设置好contentType,然后发送图像的数据流,浏览器就能正确解析并显示出图片。在Java中,java.awt和java.awt.image包提供了基本的绘制图像的能力,用户可以在内存中绘制好需[......]

Read more

如何计算时间复杂度

如何计算时间复杂度?

一、概念
时间复杂度是总运算次数表达式中受n的变化影响最大的那一项(不含系数)
比如:一般总运算次数表达式类似于这样:
a*2^n+b*n^3+c*n^2+d*n*lg(n)+e*n+f
a ! =0时,时间复杂度就是O(2^n);
a=0,b<>0 =>O(n^3);
a,b=0,c<>0 =>O(n^2)依此类推
eg:
(1)   for(i=1;i<=n;i++)   //循环了n*n次,当然是O(n^2)
            for(j=1;j<=n;j++)[......]

Read more

java获取linux的路径问题

java获取linux的路径问题。

windows系统中文件路径用的是反斜杠“\”,而linux或unix系统中文件路径用的正斜杠即”/“,看起来容易记,一不小心就弄混淆了,该怎么记才不容易混呢?
这里有一个巧记法:注意window这个单词的第一笔,也就是字母w的第一笔,是什么?没错,就是反斜杠,这样每次在想windows文件路径中用/还 是\的时候,首先要想到windows的第一笔是什么,答案自然就出来了。作为windows的对立面,linux或unix文件路径中用的自然就是/ 了。
windows系统下的路径分隔符是\
linux系统下的路径分隔符是/

java中使用这句[......]

Read more

windows linux 下,获取java项目绝对路径的方法

windows linux 下,获取java项目绝对路径的方法,struts2设置了struts.multipart.saveDir后会在根目录建立文件夹,这样会涉及linux下的权限问题。

最好不要设置,使用struts默认

需要使用路径时,用下面的方法取得项目根目录的绝对路径(Tools为方法类)

public static String getRootPath() {
String classPath = Tools.class.getClassLoader().getResource(“/”).getPath();
String rootPath = “”;
/[......]

Read more

java图形化实现图的遍历(DFS,BFS)深度搜索与广度搜索算法

功能:可以双击一个节点从任意节点遍历,默认从头节点开始遍历,两种遍历方式,可以拖拽节点任意
移动节点的位置。

没有实现:删除功能,鼠标也可以实现,但是加入键盘监听想让D和delete键来删除,但是加完节点和关系
以后键盘监听就不好使了!!!求指导!!!!!

代码如下:
Graphic类:
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ItemEvent;
i[......]

Read more

java实现的深度搜索与广度搜索算法BFS,DFS以及几种最短路径算法

java实现的深度搜索与广度搜索算法BFS,DFS以及几种最短路径算法

public class City
{
String name;
int id;
static int idCounter = 0;
public City(String name)
{
this.name=name;
id = idCounter++;
}
}
import java.util.ArrayList;
public class Graph {

public static void main(String[] args)
{
// TODO Auto-generated[......]

Read more

Java实现的深度优先算法(DFS)学习实例

Java实现的深度优先算法(DFS)学习实例,深度优先搜索算法(英语:Depth-First-Search,简称DFS)是一种用于遍历或搜索树或图的算法。沿着树的深度遍历树的节点,尽可能深的搜索树的分支。当节点v的所在边都己被探寻过,搜索将回溯到发现节点v的那条边的起始节点。这一过程一直进行到已发现从源节点可达的所有节点为止。如果还存在未被发现的节点,则选择其中一个作为源节点并重复以上过程,整个进程反复进行直到所有节点都被访问为止。属于盲目搜索。

当然看到上面这句话的时候,我并没有理解什么到底是DFS,因此又看了很多人的说话,有了下面一段话:
DFS的思想是从一个顶点V0开始,沿着一条[......]

Read more

Java实现图的DFS和BFS搜索实例

Java实现图的DFS和BFS搜索实例,图的深度优先遍历(DFS)和广度优先遍历(BFS),DFS利用递归来实现比较易懂,DFS非递归就是将需要的递归的元素利用一个栈Stack来实现,以达到递归时候的顺序,而BFS则是利用一个队列Queue来实现。

package DataStructure;

import java.util.LinkedList;  
import java.util.Queue;  
import java.util.Stack;

public class Graph {   
    private int number = 9;  
    pr[......]

Read more