- 浏览: 141574 次
- 性别:
- 来自: 北京
最新评论
-
yuhui136126:
我试了下好像不弹出选择时间这个,能帮忙是什么原因吗?
android日期控件显示 -
god_sky:
当月的最后一天减去当月的第一天就是当月的天数
日期的操作 -
wang492239163:
请问获取当前月的所有天怎么办
日期的操作
[align=center]
[size=small][/size][color=blue]<?xml version="1.0" encoding="UTF-8"?>
<web-app 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">
<servlet>
<servlet-name>SocketInitServlet</servlet-name>
<servlet-class>com.sky.socket.servlet.SocketInitServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>SocketInitServlet</servlet-name>
<url-pattern>/SocketInitServlet</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
package com.sky.socket.servlet;
import javax.servlet.http.HttpServlet;
public class SocketInitServlet extends HttpServlet{
public SocketInitServlet(){
super();
}
public void init(){
System.out.println("=========启动文件上传下载服务开始========");
Uploadservce.getInstance().start();
Downloadservce.getInstance().start();
System.out.println("=========启动文件上传下载服务结束========");
}
}
package com.sky.socket.servlet;
import java.io.DataInputStream;
import java.io.File;
import java.io.IOException;
import java.io.RandomAccessFile;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.Date;
import javax.swing.JFileChooser;
public class Downloadservce implements Runnable{
private final static int port = 8899;
public static Downloadservce downloadservce = null;
public boolean running = false;
/**
*
*/
protected Downloadservce() {
super();
}
public static Downloadservce getInstance() {
if(downloadservce==null) {
downloadservce = new Downloadservce();
}
return downloadservce;
}
public void start() {
if(!running) {
running = true;
(new Thread(this)).start();
}
}
//String information;
// public static void main(String[] args) {
// ServerSocket server=null;
// Socket you=null;
// try{
// server=new ServerSocket(port);
// }catch(IOException ex){
// System.out.println("建里服务器:"+ex.getMessage());
// }
// while(true){
// try{
// you=server.accept();
// }catch(IOException ee){
// System.out.println("正在等待客户:"+ee.getMessage());
// }
// if(you!=null)
// new DownServer_Thread(you).start();
// else
// continue;
// }
// }
public void run() {
ServerSocket server=null;
Socket you=null;
try{
server=new ServerSocket(port);
}catch(IOException ex){
System.out.println("建里服务器:"+ex.getMessage());
}
while(true){
try{
you=server.accept();
}catch(IOException ee){
System.out.println("正在等待客户:"+ee.getMessage());
}
if(you!=null)
new DownServer_Thread(you).start();
else
continue;
}
}
}
class DownServer_Thread extends Thread{
// MyButton myButton;
Socket socket=null;
DataInputStream in=null;
RandomAccessFile out=null;
String filename=null;
DownServer_Thread(Socket c){
socket=c;
try{
in=new DataInputStream(socket.getInputStream());
}catch(IOException ex){
ex.printStackTrace();
}
}
public void run(){
while(true){
int n;
byte b[] = new byte[102400];
try{
JFileChooser fileChooser = new JFileChooser();//选择要下载目录;
fileChooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
int i = fileChooser.showSaveDialog(null);//showDialog(myButton);// 1表示取消,0确定
fileChooser.setFocusable(true);//获得焦点
fileChooser.setRequestFocusEnabled(true);
fileChooser.setVisible(true);
fileChooser.requestDefaultFocus();
fileChooser.requestFocusInWindow();
// fileChooser.
if(i==JFileChooser.APPROVE_OPTION){
filename=in.readUTF();
File file=fileChooser.getSelectedFile();
String path=file.getAbsolutePath();
// String str=fileChooser.getSelectedFile().getParent();
// //获取当前路径
// File directory = new File("");
// //获得当前工程根目录
// String folderPath = directory.getCanonicalPath();
System.out.println(path+"===========================不知道哦===================");
//文件路径
String filepath = path + "//" + filename;
System.out.println(filepath+"===========================不知道哦===================");
out=new RandomAccessFile(filepath,"rw");//"rw" 打开以便读取和写入。如果该文件尚不存在,则尝试创建该文件。
while((n=in.read(b,0,102400))!=-1){
System.out.println(filepath);
System.out.println("正在下载数据...");
out.write(b,0,n);
out.skipBytes(102400);
}
System.out.println("下载完毕!");
in.close();
out.close();
socket.close();
break;
}
}catch(Exception ee){
System.out.println("客户端走了!");
break;
}
}
}
}
package com.sky.socket.servlet;
import java.io.DataInputStream;
import java.io.File;
import java.io.IOException;
import java.io.RandomAccessFile;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.Date;
import com.sky.socket.tools.FileTools;
public class Uploadservce implements Runnable {
private final static int port = 7889;
public static Uploadservce uploadservce = null;
public boolean running = false;
protected Uploadservce() {
super();
}
public void start() {
if(!running) {
running = true;
(new Thread(this)).start();
}
}
public static Uploadservce getInstance() {
if(uploadservce==null) {
uploadservce = new Uploadservce();
}
return uploadservce;
}
public void run() {
ServerSocket server=null;
Socket you=null;
try{
server=new ServerSocket(port);
}catch(IOException ex){
System.out.println("建里服务器:"+ex.getMessage());
}
while(true){
try
{
you=server.accept();
}catch(IOException ee){
System.out.println("正在等待客户:"+ee.getMessage());
}
if(you!=null)
new Server_Thread(you).start();
else
continue;
}
}
}
class Server_Thread extends Thread{
Socket socket=null;
DataInputStream in=null;
RandomAccessFile out=null;
String filename=null;
Server_Thread(Socket c){
socket=c;
try{
in=new DataInputStream(socket.getInputStream());
}catch(IOException ex){
ex.printStackTrace();
}
}
public void run()
{
while(true)
{
int n;
byte b[] = new byte[102400];
try{
filename=in.readUTF();
//获取当前路径
File directory = new File("");
//获得当前工程根目录
String folderPath = directory.getCanonicalPath();
// 创建文件夹路径
// F:\java\socketItem//upload//20110804 ;E:\o\pkb
folderPath += "//upload//"+FileTools.getStringByDate(new Date(),"yyyyMMdd");
// String folderPath= "E://o//pkb//upload//"+FileTools.getStringByDate(new Date(),"yyyyMMdd");
System.out.println("folderPath:"+folderPath);
//创建文件夹
FileTools.createFolder(folderPath);
String filename1 = folderPath + "//" + filename;
out=new RandomAccessFile(filename1,"rw");
while((n=in.read(b,0,102400))!=-1)
{
System.out.println(filename1);
System.out.println("正在上传数据...");
out.write(b,0,n);
out.skipBytes(102400);
}
[color=blue] System.out.println("写入完毕!");
in.close();
out.close();
socket.close();
break;
//文件路径
}catch(Exception ee){
System.out.println("客户端走了!");
break;
}
}
}
}[/color][/align][/color]
package com.sky.socket.button;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.DataOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.net.MalformedURLException;
import java.net.Socket;
import java.net.URL;
import java.net.URLConnection;
import java.net.UnknownHostException;
import javax.swing.JButton;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.ProgressMonitor;
import javax.swing.ProgressMonitorInputStream;
import com.sky.socket.thread.DownloadThread;
import com.sky.socket.thread.MyDownloadservce;
import com.sky.socket.thread.UploadThread;
public class MyButton extends JFrame {
/**
* @param args
*/
public JButton send;
public JButton down;
public JPanel panel;
public MyButton() {
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) {
JFileChooser fileChooser = new JFileChooser();
int i = fileChooser.showOpenDialog(MyButton.this);// 1表示取消上传,0确定上传
if (i == JFileChooser.APPROVE_OPTION) {
fileChooser.getFileSelectionMode();
String hostname = "127.0.0.1";
int port = 7889;
File file = new File(fileChooser.getSelectedFile().getAbsolutePath());
FileInputStream in = null;
try {
in = new FileInputStream(file);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
Socket socket = null;
try {
socket = new Socket(hostname, port);
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
new UploadThread(socket, in, fileChooser.getSelectedFile().getName()).start();
}
}
}
public class ButtonDown implements ActionListener {
public void actionPerformed(ActionEvent e4) {
String name = "1234.txt";
// 要下载的文件;
String hostname1 = "127.0.0.1";
int port1 = 8899;
Socket socket = null;
FileInputStream in = null;
try {
// //获取当前路径
// File directory = new File("");
// //获得当前工程根目录
// String folderPath = directory.getCanonicalPath();
String str="F://java//socketItem//upload//20110729//1234.txt";//这是已知的下载文件
File fs=new File(str);
in = new FileInputStream(fs);
socket = new Socket(hostname1, port1);
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
new DownloadThread(socket, in, name).start();
}
}
public static void main(String[] args) {
MyButton mybtn = new MyButton();
mybtn.setSize(200, 120);
mybtn.setVisible(true);
mybtn.setLocation(200, 120);
mybtn.setTitle("测试");
mybtn.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
发表评论
-
java Timer实现定时器
2012-05-14 16:16 1296/* * 文件名:MyTask.java */ impo ... -
Applet数字签名
2012-05-08 13:55 2005Applet数字签名 我用applet做了一个文件的上传和下 ... -
得到中文首字母
2012-05-02 16:27 1064package com.pxl.client.ppm.pm; ... -
java比较字符串的匹配度
2012-04-19 14:58 2187引用:http://www.jiaojingkuan.com/ ... -
本地目录拒绝访问
2012-04-26 16:46 1853我用一个文件的上传在本机上什么错也不报,放在服务器上就报一下在 ... -
在JTable中添加下拉和复选框
2012-02-07 16:43 9462package com.sky.swing; import ... -
cookie简单登录实例
2012-01-16 15:26 1523(1)登录页面 <!DOCTYPE html PUBL ... -
TomCat域名绑定与虚拟目录设置
2012-01-16 14:45 1333TomCat域名绑定与虚拟目录设置 Windows下可以通过 ... -
ArrayList、Vector和LinkedList
2011-12-19 23:07 1963package com.sky.arrayset;//Arra ... -
java 运算符
2011-12-11 21:05 1115package com.sky.basic; public ... -
日期的操作
2011-11-17 17:43 1249package com.sky.date; import j ... -
Hashset HashMap和Hashtable 实例
2011-11-12 22:57 1357package com.sky.collection; im ... -
mysql 完全备份
2011-10-20 17:42 1382//mysql 完全备份实现类 package com.sk ... -
eclipse 反编译工具下载
2011-09-21 15:31 1679JadClipse Eclipse Plugin for Ec ... -
启动tomcat 一闪而过
2011-09-21 10:57 916这是因为JAVA_HOME没有配置好 ... -
Http+Servlet 文件上传下载
2011-09-02 13:27 1815//客户端界面package com.sky.client.f ... -
Swing 界面的最大化和最小化
2011-08-23 10:57 16681.设置窗口最大(伪最大化) JFrame frame ... -
socket 文件上传下载
2011-08-01 15:03 34091.建一个java项目作为客服端 2.建一个wed项目作为服务 ... -
文件输出比较
2011-07-23 08:31 831package com.sky.java.file; imp ... -
SmartUpload上传文件名乱码
2011-07-19 10:43 3810使用jspsmart上传文件很 ...
相关推荐
在Web服务启动时自动加载Servlet是一种常见的优化策略,目的是在应用程序启动时就准备好Servlet实例,以便快速响应用户请求。本例中,我们将讨论如何配置Web服务以在启动时加载Servlet,并利用Spring框架来读取和...
在Tomcat中,我们可以通过编写一个Servlet类并将其配置在web.xml文件中,使得在Tomcat服务器启动时自动加载并初始化这个Servlet。 要实现在Tomcat启动时自动执行的Servlet,我们需要在Servlet的`init()`方法中添加...
**Tomcat启动原理解析** Tomcat作为一款广泛使用的开源Java应用服务器,其启动过程涉及了众多关键步骤和组件的协同工作。理解Tomcat的启动原理对于开发者来说至关重要,不仅有助于提升性能优化的能力,还能在遇到...
完成这些步骤后,Tomcat启动时会自动加载并注册Servlet,你可以通过浏览器访问`http://localhost:8080/yourapp/hello`来调用这个Servlet。 在Editplus中,可以配置用户工具,使得编译和运行Servlet更加便捷。在...
"Tomcat启动停止脚本"提供了这样的便利,使得操作过程自动化,特别是当需要将这些操作集成到服务器的计划任务中时。 一、Tomcat启动脚本 启动脚本通常名为`startup.sh`(在Unix/Linux环境)或`startup.bat`(在...
通常,开发者希望在不重启服务器的情况下更新代码,这时DevLoader可能会有热部署功能,即在代码更改后,能自动或手动重新加载修改过的类,而无需停止和重新启动Tomcat服务。这大大提高了开发效率。 类加载器在...
6. **等待Jenkins初始化**:当Tomcat启动并加载WAR包后,Jenkins会开始初始化过程。这个过程可能需要几分钟,取决于服务器性能和网络速度。 7. **访问Jenkins**:打开浏览器,输入`...
3.Tomcat启动时加载信息提示界面停留几秒钟就消失了 在Tomcat启动时,可能会出现加载信息提示界面停留几秒钟就消失了的问题。这可能是由于server.xml文件中的配置问题所致。 4.Tomcat启动时自动关闭 在Tomcat启动...
在这里,可以选择“ Automatically publish when resources change ”,这样每当源代码有更改时,MyEclipse会自动将更新推送到Tomcat,实现动态加载。 3. **热部署与热更新**:热部署是指在不中断服务的情况下更新...
标题 "Tomcat停止与启动shell" 指的是一个用于管理Tomcat服务器的脚本,通常这个`restart.sh`文件是用来自动化Tomcat服务的启动和停止操作的。Tomcat是Apache软件基金会的一个开源项目,是一个广泛使用的Java ...
然后启动Tomcat服务器,它会自动解压并部署你的应用。 6. **访问Servlet**:在浏览器中输入`http://localhost:8080/servlet_example/hello`(假设Tomcat默认端口为8080,且项目名为`servlet_example`)。你应该能...
Tomcat启动时会扫描这个目录,寻找WAR文件或已解压的目录并自动部署应用。 7. **`test.vbs`文件**:在这个场景下,这个文件可能是用来自动化或者测试Tomcat启动的VBScript脚本。VBScript可以调用命令行执行`...
当服务器启动或第一次接收到对Servlet的请求时,Servlet会被加载和初始化。然后,每当有新的请求到来,Servlet容器(如Tomcat)都会调用Servlet的`service()`方法来处理请求。最后,当服务器关闭或者Servlet不再需要...
要使Tomcat能够识别和加载Servlet,需要在Web应用的WEB-INF目录下的web.xml文件中进行配置,示例如下: ```xml <servlet> <servlet-name>MyServlet</servlet-name> <servlet-class>MyServlet</servlet-class> </...
在服务器启动时,Servlet容器会加载并初始化Servlet,然后处理请求,最后在服务器关闭或不再需要Servlet时销毁。 2. **Servlet配置**:Servlet可以通过在web.xml文件中声明来配置,或者使用Java注解`@WebServlet`...
- 将JAR文件放入`$CATALINA_HOME/lib`目录,这样Tomcat会自动加载其中的Servlet和过滤器。 - 将JAR文件放入`$CATALINA_HOME/webapps/WEB-INF/lib`目录,适合小型独立应用。 - 创建WAR(Web ARchive)文件,然后将...
4. **部署工具**:Tomcat提供自动部署和热部署功能,开发者只需将应用的WAR文件放入特定目录,Tomcat会自动解析并启动应用。 5. **安全管理**:Tomcat支持多种认证机制和角色基础的访问控制,确保应用的安全性。 6...
部署后,Tomcat会自动解压WAR文件并启动应用。 5. **解释一下Servlet的配置文件web.xml的作用?** web.xml是Web应用的部署描述符,用于配置Servlet、过滤器、监听器等组件,定义它们的映射路径、初始化参数和会话...
1. **初始化**: Bootstrap类是Tomcat启动的起点,它通过main方法开始执行。在main方法中,Bootstrap会加载服务器的全局配置文件,如`catalina.properties`,并创建`Catalina`实例,这是Tomcat的主要容器。 2. **...
10. **热部署**:Tomcat支持Web应用的热部署,当检测到`webapps`目录下的应用文件发生改变时,会自动重新加载应用。 总的来说,Apache Tomcat 7.0.68是一个强大且灵活的Java Web服务器,适用于开发和部署中小型Web...