- 浏览: 141770 次
- 性别:
- 来自: 北京
最新评论
-
yuhui136126:
我试了下好像不弹出选择时间这个,能帮忙是什么原因吗?
android日期控件显示 -
god_sky:
当月的最后一天减去当月的第一天就是当月的天数
日期的操作 -
wang492239163:
请问获取当前月的所有天怎么办
日期的操作
//客户端界面package com.sky.client.face;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import javax.swing.JButton;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import com.sky.client.remotecall.Http;
import com.sky.http.bean.CallParam;
import com.sky.http.bean.CallResult;
//客服端
public class MyFrame extends JFrame {
/**
* @param args
*/
public static String host = "localhost";// ip地址
public static int port = 8080;// 端口
public static String page = null;// 请求的Servlet页面
public JButton send;
public JButton down;
public JPanel panel;
public MyFrame() {
panel = new JPanel();
panel.setLayout(null);
this.add(panel);
send = new JButton("上传");
send.setBounds(20, 30, 60, 40);
ButtonEvent butEvent = new ButtonEvent();
send.addActionListener(butEvent);
panel.add(send);
down = new JButton("下载");
down.setBounds(100, 30, 60, 40);
ButtonDown butDown = new ButtonDown();
down.addActionListener(butDown);
panel.add(down);
}
/*
* 文件上传
*/
public class ButtonEvent implements ActionListener {
public void actionPerformed(ActionEvent e4) {
CallParam param = new CallParam();
param.setPage("/httpServce/fileUpload");// 111.png
JFileChooser fileChooser = new JFileChooser();
int i = fileChooser.showSaveDialog(MyFrame.this);// 1表示取消上传,0确定上传
if (i == JFileChooser.APPROVE_OPTION) {
File file = fileChooser.getSelectedFile();
// 本地保存路径,文件名会自动从服务器端继承而来。
FileInputStream input = null;
try {
int bytesize=0;
byte[] tempbytes = new byte[(int) file.length()];
System.out.println("byte数组的大小:"+tempbytes.length);
int byteread = 0;//byteread为一次读入的字节数
// 读入多个字节到字节数组中,byteread为一次读入的字节数
input = new FileInputStream(file);
System.out.println("文件的长度:"+file.length());
int line=1;
while ((byteread = input.read(tempbytes)) != -1) {
System.out.println(line+"次读入的字节数:"+byteread);
line++;
bytesize+=byteread;
}
System.out.println("文件总字节数:"+bytesize);
System.out.println("文件名:"+file.getName());
param.setByt(tempbytes);
param.setFileName(file.getName());
CallResult result = remoteCall(param);
result.isSuccess();
System.out.println(result.isSuccess()+ "==============返回结果============");
JOptionPane.showMessageDialog(MyFrame.this,"上传文件成功");
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
/*
* 文件下载
*/
public class ButtonDown implements ActionListener {
public void actionPerformed(ActionEvent e4) {
System.out.println("------------点击下载------------");
CallParam param = new CallParam();
param.setPage("/httpServce/fileDown");// 要请求的Servlet
param.setFileName("E://2011-09-02//遗留问题.txt");//要下载的文件目录
CallResult result = null;
try {
result = remoteCall(param);
} catch (Exception e) {
e.printStackTrace();
}
byte[] tempbytes=result.getByt();
JFileChooser fileChooser = new JFileChooser();
fileChooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
int i = fileChooser.showSaveDialog(MyFrame.this);// 1表示取消上传,0确定上传
if (i == JFileChooser.APPROVE_OPTION) {
File file = fileChooser.getSelectedFile();
// 本地保存路径,文件名会自动从服务器端继承而来。
String savePath = file.getAbsolutePath();
System.out.println(savePath+"文件路====================");
savePath +=File.separator+"遗留问题.txt";
FileOutputStream output = null;
try {
output = new FileOutputStream(new File(savePath));
output.write(tempbytes);
output.flush();
output.close();
JOptionPane.showMessageDialog(null, "文件下载成功");
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
System.out.println(result.isSuccess()+ "==============返回结果============");
}
}
/**
*
* @param param
* @return
* @throws Exception
* 请求的方法
*/
public CallResult remoteCall(CallParam param) throws Exception {
Http h = new Http(host, port, param.getPage());
// h.setCookie(ClientEnv.getInstance().getCookie());
ByteArrayOutputStream bout = new ByteArrayOutputStream();// 创建一个新的 byte 数组输出流。
ObjectOutputStream objOut = new ObjectOutputStream(bout);//
objOut.writeObject(param);
byte[] bytes = bout.toByteArray();
param.getByt();
h.sendRequest(bytes);
ByteArrayInputStream bin = new ByteArrayInputStream(h.responseBytes);
ObjectInputStream objIn = new ObjectInputStream(bin);
Object objResult = objIn.readObject();
CallResult result = (CallResult) objResult;
return result;
}
public static void main(String[] args) {
MyFrame mybtn = new MyFrame();
mybtn.setSize(200, 120);
mybtn.setVisible(true);
mybtn.setLocation(300, 220);
mybtn.setTitle("socket文件的上传下载");
mybtn.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
//Http类
/**
*
*/
package com.sky.client.remotecall;
import java.io.ByteArrayOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.net.InetSocketAddress;
import java.net.Socket;
import java.util.HashMap;
import java.util.Vector;
/**
* @author Ricky
*
*/
public class Http {
public Vector<String> vHeader = new Vector<String>();
public String method = null;
public String host = null;
public int port = 80;
public String page = null;
public String httpStr = "HTTP/1.1";
public PrintWriter pw = null;
public InputStream in = null;
public OutputStream out = null;
public HashMap<String, String> responseMap = new HashMap<String, String>();
public String responseText = null;
public int responseCode = 0;
public byte [] responseBytes = null;
public boolean convertToText = true;
public String hexString = "0123456789ABCDEF";
// public Cookie cookie = null;
public int socketTimeout = 120000;
public Http(String host,String page) {
this(host,80,page,"POST");
}
public Http(String host,int port,String page) {
this(host,port,page,"POST");
}
public Http(String host,int port,String page,String method) {
this.host = host;
this.page = page;
this.port = port;
this.method = method;
initHeader();
}
/**
* 设置头信息
*/
public void initHeader() {
try {
addHeader("Accept: */*");//请求报头域用于指定客户端接受哪些类型的信息,此表示所有类型的信息。
addHeader("Accept-Language: zh-cn");//接受语言类型
if(method.equalsIgnoreCase("POST")) {
addHeader("Content-Type: application/x-www-form-urlencoded;");//实体报头域用语指明发送给接收者的实体正文的媒体类型,此表示为复杂类型。
}
addHeader("UA-CPU: x86");//
addHeader("User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; )");
addHeader("Host: "+host);
} catch (Exception e) {
e.printStackTrace();
}
}
public void addHeader(String keyValue) throws Exception {
vHeader.add(keyValue);
}
public void addHeader(String key,String value) throws Exception {
vHeader.add(key+": "+value);
}
public void println(String line) throws Exception {
//System.out.println("[S]"+line);
pw.println(line);
pw.flush();
}
public void println() throws Exception {
//System.out.println("[S]");
pw.println();
pw.flush();
}
public void write(byte [] bytes) throws Exception {
}
public void print(String line) throws Exception {
//System.out.println("[S]"+line);
pw.print(line);
pw.flush();
}
public String readLine() throws Exception {
byte [] buff = new byte[1024];
int len = -1;
for (int i = 0; i < buff.length; i++) {
int n = in.read();
if(i==buff.length-1) {
len = i;
break;
}
if(n=='\r') {
len = i;
in.read();
break;
}
if(n=='\n') {
len = i;
break;
}
buff[i] = (byte)n;
}
if(len==-1) return null;
String line = new String(buff,0,len);
//System.out.println("[R]"+line);
return line;
}
public static void main(String [] args) {
try {
Http http = new Http("", "");
System.out.println(http.hexToInt("2097"));
} catch (Exception e) {
}
}
public int hexToInt(String str) throws Exception {
if(str==null||str.trim().length()==0) return 0;
char [] hexNumber = str.trim().toUpperCase().toCharArray();
char [] hexChar = hexString.toCharArray();
int n = 0;
for (int i = 0; i < hexNumber.length; i++) {
boolean valid = false;
for (int j = 0; j < hexChar.length; j++) {
if(hexNumber[i]==hexChar[j]) {
n+=(j*Math.pow(16, hexNumber.length-i-1));
valid = true;
}
}
if(!valid) return 0;
}
return n;
}
/**
*
* @param line
* @return
* @throws Exception
* 解析头文件
*/
public boolean parseHeader(String line) throws Exception {
if(line==null || line.trim().length()==0) return false;
int index = line.indexOf(":");
if(index==-1) return true;
String key = line.substring(0,index).trim();
String value = line.substring(index+1,line.length()).trim();
responseMap.put(key, value);
return true;
}
public int readAll(InputStream in,byte [] buff) throws Exception {
int index = 0;
int length = buff.length;
while(true) {
int len = in.read(buff,index,length-index);
if(len==-1) return index;
index+=len;
if(index>=length-1) break;
}
return length;
}
/**
*
* @param content
* @throws Exception
* 发送String类型的数据
*/
public void sendRequest(String content) throws Exception {
Socket s = new Socket();
try {
s.setSoTimeout(120000);
s.connect(new InetSocketAddress(host, 80),120000);
in = s.getInputStream();
out = s.getOutputStream();
pw = new PrintWriter(out);
responseBytes = null;
if(content!=null) {
addHeader("Content-Length", ""+content.getBytes().length);
}
// if(cookie!=null) {
// String strCookie = cookie.getCookie();
// if(strCookie!=null && strCookie.trim().length()>0) {
// addHeader("Cookie",strCookie);
// }
// }
println(method+" "+page+" "+httpStr);
for (int i = 0; i < vHeader.size(); i++) {
String str = vHeader.get(i);
println(str);
}
println();
if(content!=null) print(content);
String line = null;
line = readLine();
int index1 = line.indexOf(" ");
if(index1==-1) throw new Exception("未能解析状态码");
int index2 = line.indexOf(" ", index1+1);
String code = line.substring(index1+1,index2);
//System.out.println("状态码:["+code+"]");
responseCode = Integer.parseInt(code);
while((line=readLine())!=null) {
if(!parseHeader(line)) break;
}
String strCookie = responseMap.get("Set-Cookie");
// if(strCookie!=null && cookie!=null) {
// cookie.setCookie(strCookie);
// }
String strContentLength = responseMap.get("Content-Length");
String strTransferEncoding = responseMap.get("Transfer-Encoding");
if(strContentLength!=null) {
int contentLength = Integer.parseInt(strContentLength);
byte [] response = new byte[contentLength];
readAll(in, response);
responseBytes = response;
} else if(strTransferEncoding!=null && strTransferEncoding.equalsIgnoreCase("chunked") ) {
ByteArrayOutputStream bout = new ByteArrayOutputStream();
while(true) {
String strLen = readLine();
int len = hexToInt(strLen);
if(len==0) break;
byte [] buff = new byte[len];
readAll(in, buff);
bout.write(buff, 0, len);
readLine();
}
responseBytes = bout.toByteArray();
}
if(responseBytes!=null && convertToText) {
String strResponse = new String(responseBytes,"GBK");
//System.out.println("================response begin===============");
//System.out.println(strResponse);
//System.out.println("================response end=================");
responseText = strResponse;
}
} catch (Exception ex) {
ex.printStackTrace();
throw ex;
} finally {
try {in.close();} catch (Exception e) {}
try {out.close();} catch (Exception e) {}
try {s.close();} catch (Exception e) {}
}
}
/**
*
* @param content
* @throws Exception
* 发送byte类型的数据
*/
public void sendRequest(byte [] content) throws Exception {
Socket s = new Socket();
try {
s.setSoTimeout(socketTimeout);
s.connect(new InetSocketAddress(host, port),socketTimeout);
in = s.getInputStream();
out = s.getOutputStream();
pw = new PrintWriter(out);
responseBytes = null;
if(content!=null) {
addHeader("Content-Length", ""+content.length);//添加传输内容
}
// if(cookie!=null) {
//// String cookieStr=null;
// String strCookie = cookie.getCookie();
// if(strCookie!=null && strCookie.trim().length()>0) {
// addHeader("Cookie",strCookie);
// }
// }
println(method+" "+page+" "+httpStr);
for (int i = 0; i < vHeader.size(); i++) {
String str = vHeader.get(i);
println(str);
}
println();
if(content!=null){
out.write(content);
}
String line = null;
line = readLine();
int index1 = line.indexOf(" ");
if(index1==-1) throw new Exception("未能解析状态码");
int index2 = line.indexOf(" ", index1+1);
String code = line.substring(index1+1,index2);
if(!code.equals("200")) throw new Exception("错误的响应码:["+code+"]");
responseCode = Integer.parseInt(code);
while((line=readLine())!=null) {
if(!parseHeader(line)) break;
}
// String strCookie = responseMap.get("Set-Cookie");
// if(strCookie!=null && cookie!=null) {
// cookie.setCookie(strCookie);
// }
String strContentLength = responseMap.get("Content-Length");
String strTransferEncoding = responseMap.get("Transfer-Encoding");
if(strContentLength!=null) {
int contentLength = Integer.parseInt(strContentLength);
byte [] response = new byte[contentLength];
readAll(in, response);
responseBytes = response;
} else if(strTransferEncoding!=null && strTransferEncoding.equalsIgnoreCase("chunked") ) {
ByteArrayOutputStream bout = new ByteArrayOutputStream();
while(true) {
String strLen = readLine();
int len = hexToInt(strLen);
if(len==0) break;
byte [] buff = new byte[len];
readAll(in, buff);
bout.write(buff, 0, len);
readLine();
}
responseBytes = bout.toByteArray();
}
if(responseBytes!=null && convertToText) {
String strResponse = new String(responseBytes,"GBK");
//System.out.println("================response begin===============");
//System.out.println(strResponse);
//System.out.println("================response end=================");
responseText = strResponse;
}
} catch (Exception ex) {
throw ex;
} finally {
try {in.close();} catch (Exception e) {}
try {out.close();} catch (Exception e) {}
try {s.close();} catch (Exception e) {}
}
}
public String getResponseText() {
return responseText;
}
public void setResponseText(String responseText) {
this.responseText = responseText;
}
public int getResponseCode() {
return responseCode;
}
public void setResponseCode(int reponseCode) {
this.responseCode = reponseCode;
}
public byte[] getResponseBytes() {
return responseBytes;
}
public void setResponseBytes(byte[] reponseBytes) {
this.responseBytes = reponseBytes;
}
public boolean isConvertToText() {
return convertToText;
}
public void setConvertToText(boolean convertToText) {
this.convertToText = convertToText;
}
// public Cookie getCookie() {
// return cookie;
// }
//
// public void setCookie(Cookie cookie) {
// this.cookie = cookie;
// }
}
//发送数据类
/**
*
*/
package com.sky.http.bean;
import java.io.File;
import java.io.FileInputStream;
import java.io.Serializable;
import java.util.ArrayList;
/**
* @author Ricky
* 请求数据类
*/
public class CallParam implements Serializable {
public String page = null; //请求的Servlet
public byte[] byt=null; //传输的byt数据
public String fileName; //文件名
public CallParam() {
}
public byte[] getByt() {
return byt;
}
public void setByt(byte[] byt) {
this.byt = byt;
}
public String getFileName() {
return fileName;
}
public void setFileName(String fileName) {
this.fileName = fileName;
}
public String getPage() {
return page;
}
public void setPage(String page) {
this.page = page;
}
}
//返回数据类
/**
*
*/
package com.sky.http.bean;
import java.io.Serializable;
/**
* @author Ricky
*返回结果类
*/
public class CallResult implements Serializable {
// public String exceptionName = null;
// public String exceptionStack = null;
// public Object result = null;
public boolean success = true;
public byte[] byt=null;
/**
*
*/
public CallResult() {
}
public byte[] getByt() {
return byt;
}
public void setByt(byte[] byt) {
this.byt = byt;
}
// public Object getResult() {
// return result;
// }
//
// public void setResult(Object result) {
// this.result = result;
// }
//
// public String getExceptionName() {
// return exceptionName;
// }
//
// public void setExceptionName(String exceptionName) {
// this.exceptionName = exceptionName;
// }
//
// public String getExceptionStack() {
// return exceptionStack;
// }
//
// public void setExceptionStack(String exceptionStack) {
// this.exceptionStack = exceptionStack;
// }
public boolean isSuccess() {
return success;
}
public void setSuccess(boolean success) {
this.success = success;
}
}
//文件上传类
package com.sky.http.servlets;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.PrintWriter;
import java.lang.reflect.InvocationTargetException;
import java.text.SimpleDateFormat;
import java.util.Date;
import javax.servlet.ServletException;
import javax.servlet.ServletInputStream;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.sky.http.bean.CallParam;
import com.sky.http.bean.CallResult;
//import com.sky.http.remoteservice.RemoteContext;
public class FileUploadServlet extends HttpServlet {
/**
*
*/
public FileUploadServlet() {
}
public int readAll(InputStream in,byte [] buff) throws Exception {
int index = 0;
int length = buff.length;
while(true) {
int len = in.read(buff,index,length-index);
System.out.println("长度:"+length);
if(len==-1) return index;
index+=len;
System.out.println("index:"+index);
if(index>=length-1) break;
}
return length;
}
/**
* 文件上传
*
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// request.setCharacterEncoding("utf-8");
// response.setContentType("text/html;charset=utf-8");//不写不能输出中文;
//
System.out.println("==============提交到Servlet了================");
// String user=request.getParameter("user");
// String age=request.getParameter("age");
// PrintWriter write=response.getWriter();
// write.println("用户:"+user);
// write.println("年龄:"+age);
CallResult callResult = new CallResult();
// RemoteContext.getInstance().putContext(request, response);
try {
String contentLength = request.getHeader("content-length");//得到内容的长度
int nContentLen = Integer.parseInt(contentLength);
byte [] buff = new byte[nContentLen];
InputStream reqIn = request.getInputStream();
System.out.println("我是中国人:"+reqIn);
readAll(reqIn, buff);
System.out.println("返回值哦!!!");
ObjectInputStream objIn = new ObjectInputStream(new ByteArrayInputStream(buff));
System.out.println("返回值哦!!!");
CallParam param = (CallParam)objIn.readObject();
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
String path=sdf.format(new Date());
String filePath = "E:" + File.separator+path ;
System.out.println("============================上传文件夹:"+filePath);
File file = new File(filePath);
if (file.exists()) {
file.delete();
} else {
file.mkdirs();
}
byte[] tempbytes=param.getByt();
System.out.println(param.getPage()+"文件名:"+param.getFileName());
FileOutputStream outSTr = new FileOutputStream(new File(filePath+ File.separator +param.getFileName()));
outSTr.write(tempbytes);
// outSTr.flush();
// outSTr.close();
callResult.setSuccess(true);
} catch (Exception e) {
Throwable th = null;
if(e!=null && e instanceof InvocationTargetException) {
th = ((InvocationTargetException) e).getTargetException();
} else {
th = e;
}
th.printStackTrace();
}
// finally {
// RemoteContext.getInstance().removeContext();
// }
try {
ObjectOutputStream objOut = new ObjectOutputStream(response.getOutputStream());
objOut.writeObject(callResult);
} catch (Exception e) {
e.printStackTrace();
throw new ServletException(e.getMessage());
}
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
this.doPost(request, response);
}
}
//文件下载类
package com.sky.http.servlets;
import java.io.ByteArrayInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.lang.reflect.InvocationTargetException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.sky.http.bean.CallParam;
import com.sky.http.bean.CallResult;
//import com.sky.http.remoteservice.RemoteContext;
public class FileDownloadServlet extends HttpServlet {
public int readAll(InputStream in, byte[] buff) throws Exception {
int index = 0;
int length = buff.length;
while (true) {
int len = in.read(buff, index, length - index);
if (len == -1)
return index;
index += len;
if (index >= length - 1)
break;
}
return length;
}
protected void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException {
System.out.println("--------------------提交到Servlet了-------------------");
CallResult callResult = new CallResult();
// RemoteContext.getInstance().putContext(request, response);
try {
String contentLength = request.getHeader("content-length");
int nContentLen = Integer.parseInt(contentLength);
byte[] buff = new byte[nContentLen];
InputStream reqIn = request.getInputStream();
readAll(reqIn, buff);
ObjectInputStream objIn = new ObjectInputStream(new ByteArrayInputStream(buff));
CallParam p = (CallParam) objIn.readObject();
String filePath =p.getFileName();
System.out.println("下载文件路径================="+filePath);
File file=new File(filePath);
FileInputStream input = new FileInputStream(file);
byte[] tempbytes = new byte[(int) file.length()];
int byteread = 0;
int bytesize=0;
// 读入多个字节到字节数组中,byteread为一次读入的字节数
while ((byteread = input.read(tempbytes)) != -1) {
// bytesize+=byteread;
}
// int reads = 0;
// byte[] bytes = new byte[1024];
// while ((reads = input.read(bytes)) != -1) {
// }
callResult.setByt(tempbytes);
input.close();
} catch (Exception e) {
Throwable th = null;
if (e != null && e instanceof InvocationTargetException) {
th = ((InvocationTargetException) e).getTargetException();
} else {
th = e;
}
th.printStackTrace();
}
// finally {
// RemoteContext.getInstance().removeContext();
// }
try {
ObjectOutputStream objOut = new ObjectOutputStream(response.getOutputStream());
objOut.writeObject(callResult);
} catch (Exception e) {
e.printStackTrace();
throw new ServletException(e.getMessage());
}
}
protected void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
this.doPost(request, response);
}
}
//web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<display-name>httpServce</display-name>
<!-- 文件上传 -->
<servlet>
<servlet-name>fileUpload</servlet-name>
<servlet-class>com.sky.http.servlets.FileUploadServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>fileUpload</servlet-name>
<url-pattern>/fileUpload</url-pattern>
</servlet-mapping>
<!-- 文件上传 -->
<!-- 文件下载 -->
<servlet>
<servlet-name>fileDown</servlet-name>
<servlet-class>com.sky.http.servlets.FileDownloadServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>fileDown</servlet-name>
<url-pattern>/fileDown</url-pattern>
</servlet-mapping>
<!-- 文件下载 -->
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
</web-app>
发表评论
-
java Timer实现定时器
2012-05-14 16:16 1303/* * 文件名:MyTask.java */ impo ... -
Applet数字签名
2012-05-08 13:55 2007Applet数字签名 我用applet做了一个文件的上传和下 ... -
得到中文首字母
2012-05-02 16:27 1068package com.pxl.client.ppm.pm; ... -
java比较字符串的匹配度
2012-04-19 14:58 2193引用:http://www.jiaojingkuan.com/ ... -
本地目录拒绝访问
2012-04-26 16:46 1855我用一个文件的上传在本机上什么错也不报,放在服务器上就报一下在 ... -
在JTable中添加下拉和复选框
2012-02-07 16:43 9479package com.sky.swing; import ... -
cookie简单登录实例
2012-01-16 15:26 1527(1)登录页面 <!DOCTYPE html PUBL ... -
TomCat域名绑定与虚拟目录设置
2012-01-16 14:45 1336TomCat域名绑定与虚拟目录设置 Windows下可以通过 ... -
ArrayList、Vector和LinkedList
2011-12-19 23:07 1966package com.sky.arrayset;//Arra ... -
java 运算符
2011-12-11 21:05 1117package com.sky.basic; public ... -
日期的操作
2011-11-17 17:43 1253package com.sky.date; import j ... -
Hashset HashMap和Hashtable 实例
2011-11-12 22:57 1362package com.sky.collection; im ... -
mysql 完全备份
2011-10-20 17:42 1384//mysql 完全备份实现类 package com.sk ... -
eclipse 反编译工具下载
2011-09-21 15:31 1686JadClipse Eclipse Plugin for Ec ... -
启动tomcat 一闪而过
2011-09-21 10:57 919这是因为JAVA_HOME没有配置好 ... -
Swing 界面的最大化和最小化
2011-08-23 10:57 16811.设置窗口最大(伪最大化) JFrame frame ... -
Tomcat启动时自动加载Servlet
2011-08-05 14:43 3367[align=center][size=small][/siz ... -
socket 文件上传下载
2011-08-01 15:03 34161.建一个java项目作为客服端 2.建一个wed项目作为服务 ... -
文件输出比较
2011-07-23 08:31 837package com.sky.java.file; imp ... -
SmartUpload上传文件名乱码
2011-07-19 10:43 3816使用jspsmart上传文件很 ...
相关推荐
在Java Web开发中,JSP(Java...总的来说,JSP+Servlet实现文件上传下载涉及到HTML表单、Servlet请求处理、文件I/O以及第三方库的使用。通过这个实例,开发者可以掌握在Java Web环境中处理文件上传下载的基本流程。
### jsp+servlet实现文件上传下载 在现代Web开发中,文件上传下载是常见的功能之一。JSP(JavaServer Pages)与Servlet技术结合可以轻松实现这一功能。本篇将详细介绍如何利用jspSmartUpload组件实现文件的上传与...
"JSP+Servlet+cos文件上传下载Jar包.rar"是一个压缩包,它提供了实现这些功能所需的关键库。让我们详细了解一下这个包以及如何利用其中的资源。 1. **cos.jar**:这是China Online System(COS)的Java库,主要用于...
FileReference对象可以监听“uploadCompleteData”事件,当文件上传成功时触发。同时,通过Flash Player的StageVideo或者BitmapData类,Flex可以实现图片的实时预览功能。 在后端,Java Servlet会接收到HTTP请求,...
在Java Web开发中,"jsp+servlet文件上传数据库和下载"是常见的功能需求,涉及到的主要技术包括JSP(JavaServer Pages)、Servlet、文件处理以及数据库操作。以下将详细阐述这些知识点。 1. JSP(JavaServer Pages...
标题中的“tomcat+tomcat插件+servlet文件上传jar包”揭示了本文将要讨论的是如何在Tomcat服务器上实现文件上传功能,并且利用相关的Tomcat插件进行辅助开发。Tomcat是一款广泛使用的开源Java Servlet容器,它实现了...
可能需要修改最大上传和下载文件大小限制,这通常在server.xml的Connector标签内进行。 七、安全性与性能优化 1. 防止路径遍历攻击:验证用户提供的文件路径,避免访问服务器上的敏感文件。 2. 使用异步处理:...
在这个场景下,我们将探讨如何结合`jQuery ajaxFileUpload` 和Servlet实现文件上传的功能。 首先,`jQuery ajaxFileUpload` 插件允许用户在不刷新页面的情况下上传文件,提供了一种友好的用户体验。它的主要优点...
在这个“JSP+servlet文件上传简单案例”中,我们将探讨如何利用这两种技术实现文件上传功能。文件上传是Web应用中常见的一种需求,例如用户可能需要上传个人头像、文档或者其他形式的数据。 首先,让我们了解一下...
在这个主题中,“jsp+servlet实现文件上传和下载”是核心知识点,我们将深入探讨如何利用这两个组件以及Apache的`commons-fileupload`和`commons-io`库来完成这一任务。 1. **文件上传** 文件上传通常涉及用户通过...
【AjaxSubmit+Servlet实现表单文件上传与下载详解】 在Web开发中,文件上传和下载是常见的功能,尤其是在用户交互丰富的应用中。本项目【Demo Project】利用AjaxSubmit结合Servlet技术,提供了一种高效、异步的方式...
`JSP(JavaServer Pages)`和`Servlet`是Java EE平台上的两种核心技术,它们常用于构建动态Web项目,包括文件上传功能。本篇文章将深入讲解如何使用JSP和Servlet实现文件上传。 首先,我们需要了解`JSP`的基本概念...
这个“一个简单的JSP+Servlet图片上传例子”是一个基础教程,旨在帮助初学者理解如何通过这两种技术实现用户界面与服务器端的交互,特别是处理文件上传的功能。 首先,JSP是Java的一种视图技术,它允许开发者在HTML...
本示例结合了前端的Vue.js框架和后端的Servlet技术,提供了一种实现文件上传的解决方案。Vue.js是一个轻量级的渐进式JavaScript框架,而Servlet则是Java Web开发中的核心组件,用于处理HTTP请求和响应。接下来,我们...
本项目以"纯jsp+servlet版的多文件上传与下载"为主题,采用MVC(Model-View-Controller)模式进行设计,这是一套广泛应用于Web开发的经典架构。下面将详细介绍这个项目中的关键知识点。 1. **MVC模式**: MVC模式...
本文实例为大家分享了JSP+Servlet实现文件上传到服务器功能的具体代码,供大家参考,具体内容如下 项目目录结构大致如下: 正如我在上图红线画的三个东西:Dao、service、servlet 这三层是主要的结构,类似 MVC ...
在Java Web开发中,JSP(JavaServer Pages)和Servlet是两种常见的技术,它们可以协同工作来处理用户请求,包括文件上传功能。本教程将详细讲解如何使用JSP和Servlet实现文件上传,以及相关的知识点。 一、JSP与...
本教程将探讨如何使用纯JSP(JavaServer Pages)和Servlet技术来实现文件上传,而不依赖Apache的文件上传组件,如Commons FileUpload。 首先,我们需要了解JSP和Servlet的基本概念。JSP是用于创建动态网页的Java...
实践中,还可能涉及到安全性优化,如使用MIME类型检查防止恶意文件上传,使用CDN存储图片以减轻服务器压力,以及使用session或cookie进行用户验证等。总的来说,理解和熟练掌握`JSP`和`Servlet`的配合使用,对于开发...