步骤:
1.页面
if(upForm.getForm().isValid()){
upForm.form.submit({
waitMsg : '正在上传文件,请稍候......',//提示信息
waitTitle : '请稍候',//标题
url : jutil.getRootPath()+'/nurseInfoImport.do',
method : 'post',
success : function(form, action) {
Ext.MessageBox.alert('提交成功', action.result.msg);
},
failure:function(form,action){//加载失败的处理函数
Ext.Msg.alert('提示','导入失败!');
}
});
}
2.web.xml
<servlet>
<servlet-name>nurseInfoImport</servlet-name>
<servlet-class>com.alensic.nursing.sysmgr.NurseInfoImportServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>nurseInfoImport</servlet-name>
<url-pattern>/nurseInfoImport.do</url-pattern>
</servlet-mapping>
3.servlet
package com.alensic.nursing.sysmgr;
import java.io.FileInputStream;
import java.io.IOException;
import java.util.Iterator;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.fileupload.FileItem;
import org.apache.tomcat.util.http.fileupload.DiskFileUpload;
public class NurseInfoImportServlet extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doPost(request, response);
}
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException {
try {
System.out.println("开始进行文件上传");
DiskFileUpload fu = new DiskFileUpload();
fu.setSizeMax(100*1024*1024); // 设置最大文件尺寸,这里是4MB
fu.setSizeThreshold(4096); // 设置缓冲区大小,这里是4kb
List fileItems = fu.parseRequest(request); // 得到所有的文件:
Iterator i = fileItems.iterator();
// 依次处理每一个文件:
while (i.hasNext()) {
FileItem fi = (FileItem) i.next();
String fileName = fi.getName();// 获得文件名,这个文件名包括路径:
ImportExcel importNurse = new ImportExcel();
importNurse.importExcel(new FileInputStream(fileName));
}
} catch (Exception e) {
e.printStackTrace();
response.getWriter().print("{success:flase,message:'失败'}");
// 可以跳转出错页面
}
}
}
配置是否成功可以通过直接访问路径:jutil.getRootPath()+/nurseInfoImport.do
分享到:
相关推荐
本文将详细介绍如何使用Oracle的JDeveloper工具来开发一个简单的Servlet应用程序,并通过一系列步骤展示整个过程。Servlet技术是Java Web开发中的核心组成部分之一,它允许开发者创建动态网页内容。通过本教程的学习...
Servlet配置文件,通常被称为`web.xml`,是Java Web应用程序的核心配置文件,它定义了应用的行为、组件和安全策略。以下是对文件中各个主要元素的详细说明: 1. `<web-app>`:这是整个配置文件的根元素,包含了所有...
Servlet容器负责管理Servlet的整个生命周期,包括创建、初始化、调用和销毁Servlet实例。当第一次请求到达时,Servlet容器会创建并初始化Servlet实例;随后的请求将重用已初始化的实例;当服务器关闭或Servlet不再...
Servlet配置文件,通常被称为`web.xml`,是Java Web应用程序的核心配置文件,它定义了应用程序的行为、组件和安全策略。以下是对文件中各个主要元素的详细说明: 1. `<web-app>`:这是整个配置文件的根元素,包含了...
- `ServletConfig`: 代表Servlet的配置信息,包含在web.xml中定义的Servlet特定的初始化参数。 - `ServletContext`: 表示整个Web应用的上下文,可以获取Web应用的信息,如初始化参数、资源路径等。 - `...
此外,还可以通过`<init-param>`元素为Servlet配置初始化参数。 #### 六、示例代码分析 为了更好地理解Servlet的生命周期,我们可以通过一个简单的示例来进行说明。下面是一个简单的`LifeCycleServlet`类: ```...
#### 二、Servlet配置 - **ServletConfig对象**:由容器提供给Servlet的配置信息。通过`ServletConfig`可以获取初始化参数、Servlet名称以及整个Web应用的配置信息。 - `String getInitParameter(String name)`:...
整个过程涉及到了Servlet容器(如Tomcat)的介入,容器负责创建Servlet实例、管理其生命周期以及调度请求。 二、Servlet配置 Servlet的配置通常在Web应用的部署描述符`web.xml`文件中进行。配置包括定义Servlet类、...
#### 三、Servlet配置详解 在`web.xml`文件中,Servlet的配置主要包含以下几个方面: ##### 1. `<description>`、`<display-name>` 和 `<icon>` 元素 - **`<description>`**:用于为Servlet指定一个文本描述,这...
3. **Servlet配置**:定义Servlet的行为和属性。 #### 四、Servlet容器的工作流程 接下来,我们将详细介绍Servlet容器的工作流程,特别是它如何与`javax.servlet.Servlet`接口交互。 1. **初始化阶段**: - 当...
6. 当收到HTTP请求时,根据请求的URI查找对应的Servlet配置,然后使用反射机制创建并实例化Servlet对象,调用其`service`方法处理请求。 反射是Java提供的一种强大的能力,允许我们在运行时检查类的信息(如方法、...
1. **Servlet配置** - **web.xml**:Servlet的配置主要通过`web.xml`文件进行,这是Web应用的部署描述符。在这里,你可以定义Servlet类、映射URL以及设置初始化参数。 - **<servlet>`元素**:用于声明Servlet,...
这个类对于开发者来说非常有用,因为它简化了Servlet的创建过程。开发者只需要重写`service()`方法即可创建一个功能完整的Servlet。 1. `void destroy()`:与Servlet接口中的`destroy()`方法相同,用于销毁Servlet...
2. **Servlet配置**: - 在web.xml文件中,我们可以定义Servlet的映射、初始化参数等。例如: ```xml <servlet> <servlet-name>MyServlet</servlet-name> <servlet-class>com.example.MyServlet</servlet-class...
Servlet生命周期是Java Web开发中的核心概念,它涵盖了Servlet从创建到销毁的整个过程,主要分为初始化阶段、运行阶段和销毁阶段。这个过程完全由Servlet容器(如Tomcat、Jetty等)管理。 **初始化阶段** 在初始化...
- **初始化**:调用`init()`方法,用于初始化Servlet配置。此方法仅在Servlet被加载时调用一次。 - **服务请求**:处理来自客户端的请求。通常通过`service()`方法实现,其中`doGet()`和`doPost()`是最常用的两个...
这个对象包含了Servlet的初始化参数和配置信息,并且会被用来关联当前Servlet与整个Web应用程序的`ServletContext`对象。 - **创建Servlet实例:** 容器接下来会创建一个Servlet实例。 - **初始化Servlet:** 最后...
这个方法只执行一次,意味着在整个应用程序运行期间,Servlet在内存中只有一个实例,即Servlet是单例的。因此,需要注意线程安全问题,避免在Servlet中定义可变的成员变量。 2. 服务提供:每当有新的请求到达时,...
在这整个过程中,Servlet 线程会一直处于阻塞状态,直到所有操作完成。这种处理方式对于并发量较高的应用来说,可能导致性能瓶颈,因为线程资源被长时间占用。 在 Servlet 3.0 中,通过引入异步处理机制,可以极大...