do_upload.jsp
[code="java"]<%@ page language="java" contentType="text/html; charset=GB18030"
pageEncoding="GB2312"%>
<%@ page import="org.apache.commons.fileupload.*"%>
<%@ page import="org.apache.commons.fileupload.servlet.*"%>
<%@ page import="org.apache.commons.fileupload.disk.*"%>
<%@ page import="java.util.*"%>
<%@ page import="java.io.*"%>
<%@ page import="picDeal.*" %>
/jsp:useBean
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
上传的图片如下: |
[code="java"]package picDeal;
import java.awt.*;
import java.awt.image.*;
import java.io.*;
import javax.imageio.*;
public class PicRgb {
private int []rData;
private int []gData;
private int []bData;
private int width;
private int height;
//分析图片,参数为图片的名字
public PicRgb()
{
}
public void setData(String name){
Image image=null;
try{
File sourceimage = new File("upload/"+name);
image=ImageIO.read(sourceimage);
}
catch(IOException e){
}
//读取图像的高度&宽度
this.width=image.getWidth(null);
this.height=image.getHeight(null);
System.out.println(width);
System.out.println(height);
//读取图片像素信息
Image im=Toolkit.getDefaultToolkit().getImage("upload/"+name);
this.rData=new int[256];
this.gData=new int[256];
this.bData=new int[256];
int []pixels=new int[width*height];
try{
PixelGrabber pg=new PixelGrabber(im,0,0,width,height,pixels,0,width);
pg.grabPixels();
}catch(InterruptedException e){
e.printStackTrace();
}
ColorModel cm=ColorModel.getRGBdefault();
int red,green,blue;
for(int i=0;i<width*height;i++){
red=cm.getRed(pixels[i]);
this.rData[red]++;
green=cm.getGreen(pixels[i]);
this.gData[green]++;
blue=cm.getBlue(pixels[i]);
this.bData[blue]++;
}
}
public void setRData(int[] r)
{
this.rData=r;
}
public void setGData(int[] g)
{
this.gData=g;
}
public void setBData(int[] b)
{
this.bData=b;
}
public void setWidth(int w)
{
this.width=w;
}
public void setHeight(int h)
{
this.height=h;
}
public int getWidth()
{
return this.width;
}
public int getHeight()
{
return this.height;
}
public int[] getRData()
{
return this.rData;
}
public int[] getGData()
{
return this.gData;
}
public int[] getBData()
{
return this.bData;
}
}
[/code]
当使用up_load.jsp页面时 出现错误
提示 useBean使用的类不可用……弄了一下午,头都大了 - -
/jsp:useBean 你的pic 这个类不可用。因为你还加上
[code="java"]/bean:define[/code]
其中: PicRgb 这个类的方法名要不能带参数,默认为getXXX(). 其中XXX的第一个单词要大写。因为这是jsp:useBean 约定写法。
demo.jsp:
[code="java"]/jsp:useBean
/bean:define
insert
id: /html:text
sname: /html:text
price: /html:text
acount: /html:text
html:submitsubmit/html:submit
/html:form
<table border='1'>
<tr>
<td>
id
</td>
<td>
sname
</td>
<td>
price
</td>
<td>
acount
</td>
</tr>
<logic:iterate id="stock" name="stockList">
<tr>
<td>
<bean:write name="stock" property="id" />
</td>
<td>
<bean:write name="stock" property="sname" />
</td>
<td>
<bean:write name="stock" property="price" />
</td>
<td>
<bean:write name="stock" property="acount" />
</td>
</tr>
</logic:iterate>
</table>
</center>
/html:html
[/code]
[code="java"]public class StockDao {
private Access access;
// private Stock stock;
private ResultSet rs;
private Connection conn;
public static void main(String[] args) {
System.out.println(new StockDao().getFindAllStock());
}
public List getFindAllStock(){
access=new Access();
List list = new ArrayList();
String sql="select * from stock";
System.out.println(sql);
try {
rs=access.query(sql);
while(rs.next()){
Stock stock=new Stock();
stock.setId(rs.getString(1));
stock.setSname(rs.getString(2));
stock.setPrice(rs.getString(3));
stock.setAcount(rs.getString(4));
list.add(stock);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return list;
}[/code]