導航:首頁 > 文件教程 > spring3mvc下載文件

spring3mvc下載文件

發布時間:2023-07-15 07:03:22

A. 如何搭建spring mvc框架

spring框架jar包
1、下載spring源包
spring地址:http://www.springsource.org/download
我下的是spring-framework-3.1.0.RELEASE-with-docs.zip
下載依賴包:spring-framework-3.0.5.RELEASE-dependencies.zip
注意官網上3.0.3版本以後同版本依賴包不提供下載
2、導入所需jar包
引入dist目錄下除了下面三個其餘所有包
org.springframework.web.struts-3.1.0.RELEASE.jar
org.springframework.spring-library-3.1.0.RELEASE.libd
org.springframework.web.portlet-3.1.0.RELEASE.jar
引入依賴包下com.springsource.org.apache.commons.logging-1.1.1.jar及com.springsource.org.aopalliance-1.0.0.jar
spring框架配置
1、web.xml配置

[html] view plain
<?xml version="1.0" encoding="UTF-8"?>
<web-app
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
id="WebApp_ID"
version="3.0">
<context-param>
<param-name>contextConfigLocation</param-name>
<!-- 應用上下文配置文件 -->
<param-value>/WEB-INF/spring-servlet.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<!-- 配置spring核心servlet -->
<servlet>
<servlet-name>spring</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<!-- url-pattern配置為/,不帶文件後綴,會造成其它靜態文件(js,css等)不能訪問。如配為*.do,則不影響靜態文件的訪問 -->
<servlet-mapping>
<servlet-name>spring</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
</web-app>
2、應用上下文配置
spring-servlet.xml即配置用於開啟基於註解的springMVC功能,照web.xml中設定,路徑為WEB-INF下
[html] view plain
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:p="http://www.springframework.org/schema/p"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd">
<!-- 啟動註解驅動的Spring MVC功能,注冊請求url和註解POJO類方法的映射-->
<mvc:annotation-driven />
<!-- 啟動包掃描功能,以便注冊帶有@Controller、@Service、@repository、@Component等註解的類成為spring的bean -->
<context:component-scan base-package="com.mvc.rest" />
<!-- 對模型視圖名稱的解析,在請求時模型視圖名稱添加前後綴 -->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" p:prefix="/WEB-INF/view/" p:suffix=".jsp" />
</beans>
Demo例子
1、根據spring-servlet.xml配置的包路徑(com.mvc.rest)新建Constroller
[java] view plain
package com.mvc.rest;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.servlet.ModelAndView;
@Controller
public class RestConstroller {
public RestConstroller() {}
@RequestMapping(value = "/login/{user}", method = RequestMethod.GET)
public ModelAndView myMethod(HttpServletRequest request,HttpServletResponse response,
@PathVariable("user") String user, ModelMap modelMap) throws Exception {
modelMap.put("loginUser", user);
return new ModelAndView("/login/hello", modelMap);
}
@RequestMapping(value = "/welcome", method = RequestMethod.GET)
public String registPost() {
return "/welcome";
}
}
2、建jsp視圖
視圖路徑在spring-servlet.xml配置(/WEB-INF/view/),據上述RestConstroller 類,我們在WEB-INF下建立view目錄,在view下建立welcome.jsp及login/hello.jsp
welcome.jsp隨意,hello.jsp代碼如下:
[html] view plain
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'hello.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
</head>
<body>
你好:<%=request.getAttribute("loginUser") %>,現在時間是<%= new Date() %>
</body>
</html>
3、部署訪問
http://localhost:8080/SpringMvcDemo/welcome

B. java-SpringMVC 後台怎麼獲取前台jsp頁面中file中的文件

1.打開SpringMVC的文件上傳功能:***-servlet.xml中配置

C. springmvc使用poi導出excel需要什麼jar

Apache POI是Apache軟體基金會的開放源碼函式庫,POI提供API給Java程序對Microsoft Office格式檔案讀和寫的功能。

這里的方法支持導出excel至項目所在伺服器,或導出至客戶端瀏覽器供用戶下載,下面我把兩個實例都放出來。

1.下載所需POI的jar包,並導入項目。

2.添加一個User類,用於存放用戶實體,類中內容如下:

1 package com.mvc.po;
2
3 public class User {
4 private int id;
5 private String name;
6 private String password;
7 private int age;
8
9 public User() {
10
11 }
12
13 public User(int id, String name, String password, int age) {
14 this.id = id;
15 this.name = name;
16 this.password = password;
17 this.age = age;
18 }
19 public int getId() {
20 return id;
21 }
22 public void setId(int id) {
23 this.id = id;
24 }
25 public String getName() {
26 return name;
27 }
28 public void setName(String name) {
29 this.name = name;
30 }
31 public String getPassword() {
32 return password;
33 }
34 public void setPassword(String password) {
35 this.password = password;
36 }
37 public int getAge() {
38 return age;
39 }
40 public void setAge(int age) {
41 this.age = age;
42 }
43 }

3.添加一個UserController類,類中內容如下:

1 package com.mvc.controller;
2
3 import java.text.SimpleDateFormat;
4 import java.util.Date;
5
6 import javax.servlet.ServletOutputStream;
7 import javax.servlet.http.HttpServletResponse;
8
9 import org.springframework.stereotype.Controller;
10 import org.springframework.beans.factory.annotation.Autowired;
11 import org.springframework.web.bind.annotation.RequestMapping;
12 import org.springframework.web.bind.annotation.ResponseBody;
13
14 import com.mvc.po.User;
15 import com.mvc.service.UserService;
16
17 @Controller
18 public class UserController {
19
20 @Autowired
21 private UserService userService;
22
23 @RequestMapping("/export.do")
24 public @ResponseBody String export(HttpServletResponse response){
25 response.setContentType("application/binary;charset=UTF-8");
26 try{
27 ServletOutputStream out=response.getOutputStream();
28 String fileName=new String(("UserInfo "+ new SimpleDateFormat("yyyy-MM-dd").format(new Date())).getBytes(),"UTF-8");
29 response.setHeader("Content-disposition", "attachment; filename=" + fileName + ".xls");
30 String[] titles = { "用戶編號", "用戶姓名", "用戶密碼", "用戶年齡" };
31 userService.export(titles, out);
32 return "success";
33 } catch(Exception e){
34 e.printStackTrace();
35 return "導出信息失敗";
36 }
37 }
38 }

4.添加一個介面類UserService和實現類UserServiceImpl,類中內容如下:

1 package com.mvc.service;
2
3 import javax.servlet.ServletOutputStream;
4 import com.mvc.po.User;
5
6 public interface UserService {
7 public void export(String[] titles, ServletOutputStream out);
8 }

1 package com.mvc.service.impl;
2
3 import java.text.SimpleDateFormat;
4 import java.util.List;
5
6 import javax.servlet.ServletOutputStream;
7
8 import com.mvc..UserDAO;
9 import com.mvc.po.User;
10 import com.mvc.service.UserService;
11
12 import org.apache.poi.hssf.usermodel.HSSFCell;
13 import org.apache.poi.hssf.usermodel.HSSFCellStyle;
14 import org.apache.poi.hssf.usermodel.HSSFRow;
15 import org.apache.poi.hssf.usermodel.HSSFSheet;
16 import org.apache.poi.hssf.usermodel.HSSFWorkbook;
17 import org.springframework.beans.factory.annotation.Autowired;
18 import org.springframework.stereotype.Service;
19
20 @Service
21 public class UserServiceImpl implements UserService {
22
23 @Autowired
24 private UserDAO userDAO;
25
26 @Override
27 public void export(String[] titles, ServletOutputStream out) {
28 try{
29 // 第一步,創建一個workbook,對應一個Excel文件
30 HSSFWorkbook workbook = new HSSFWorkbook();
31 // 第二步,在webbook中添加一個sheet,對應Excel文件中的sheet
32 HSSFSheet hssfSheet = workbook.createSheet("sheet1");
33 // 第三步,在sheet中添加表頭第0行,注意老版本poi對Excel的行數列數有限制short
34 HSSFRow hssfRow = hssfSheet.createRow(0);
35 // 第四步,創建單元格,並設置值表頭 設置表頭居中
36 HSSFCellStyle hssfCellStyle = workbook.createCellStyle();
37 //居中樣式
38 hssfCellStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER);
39
40 HSSFCell hssfCell = null;
41 for (int i = 0; i < titles.length; i++) {
42 hssfCell = hssfRow.createCell(i);//列索引從0開始
43 hssfCell.setCellValue(titles[i]);//列名1
44 hssfCell.setCellStyle(hssfCellStyle);//列居中顯示
45 }
46
47 // 第五步,寫入實體數據
48 List<User> users = userDAO.query();
49
50 SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
51 if(users != null && !users.isEmpty()){
52 for (int i = 0; i < users.size(); i++) {
53 hssfRow = hssfSheet.createRow(i+1);
54 User user = users.get(i);
55
56 // 第六步,創建單元格,並設置值
57 int userid = 0;
58 if(user.getId() != 0){
59 userid = user.getId();
60 }
61 hssfRow.createCell(0).setCellValue(userid);
62 String username = "";
63 if(user.getName() != null){
64 username = user.getName();
65 }
66 hssfRow.createCell(1).setCellValue(username);
67 String password = "";
68 if(user.getPassword() != null){
69 password = user.getPassword();
70 }
71 hssfRow.createCell(2).setCellValue(password);
72 int age = 0;
73 if(user.getAge() != 0){
74 age = user.getAge();
75 }
76 hssfRow.createCell(3).setCellValue(age);
77 }
78 }
79
80 // 第七步,將文件輸出到客戶端瀏覽器
81 try {
82 workbook.write(out);
83 out.flush();
84 out.close();
85
86 } catch (Exception e) {
87 e.printStackTrace();
88 }
89 }catch(Exception e){
90 e.printStackTrace();
91 throw new Exception("導出信息失敗!");
92 }
93 }
94 }

5.添加一個介面類UserDAO和實現類UserDAOImpl,類中內容如下:

1 package com.mvc.;
2
3 import java.util.List;
4 import com.mvc.po.User;
5
6 public interface UserDAO {
7 List<User> query();
8 }

1 package com.mvc..impl;
2
3 import java.util.List;
4 import java.sql.ResultSet;
5 import java.sql.SQLException;
6
7 import com.mvc..UserDAO;
8 import com.mvc.po.User;
9
10 import org.springframework.stereotype.Repository;
11 import org.springframework.beans.factory.annotation.Autowired;
12 import org.springframework.jdbc.core.JdbcTemplate;
13 import org.springframework.jdbc.core.RowMapper;
14
15 @Repository
16 public class UserDAOImpl implements UserDAO {
17
18 @Autowired
19 private JdbcTemplate jdbcTemplate;
20
21 public List<User> query() {
22 return this.jdbcTemplate.query("select * from student",
23 new RowMapper<User>() {
24 public User mapRow(ResultSet rs, int arg1)
25 throws SQLException {
26 return new User(rs.getInt("sId"),
27 rs.getString("sName"), rs.getString("sPwd"), rs
28 .getInt("sAge"));
29 }
30 });
31 }
32 }

這樣就完成了excel導出至客戶端瀏覽器,當然有時候也會用到導出excel至伺服器上。只需要對本文步驟4中的第七步文件輸出方式進行修改,如下:

1 // 第七步,將文件存到指定位置
2 try {
3 FileOutputStream fileOutputStream = new FileOutputStream("C:/user.xls");//指定路徑與名字和格式
4 workbook.write(fileOutputStream);//講數據寫出去
5 fileOutputStream.close();//關閉輸出流
6 } catch (Exception e) {
7 e.printStackTrace();
8 }

然後去除controller類中的out參數設置就ok了。也可以看出其實兩種方式只是最終保存方式不同,其他步驟是共通的。

D. 《看透SpringMVC源代碼分析與實踐》pdf下載在線閱讀,求百度網盤雲資源

《看透Spring MVC》(韓路彪)電子書網盤下載免費在線閱讀

資源鏈接:

鏈接:https://pan..com/s/1OzllRtwg7BeNHKqPpG4Nsw

提取碼:e5xd

書名:看透Spring MVC

作者:韓路彪

豆瓣評分:6.8

出版社:機械工業出版社

出版年份:2016-1-1

頁數:309

內容簡介:

國內資深Web開發專家根據Spring MVC全新技術撰寫,基於實際生產環境,從基礎知識、源代碼和實戰3個維度對Spring MVC的結構和實現進行詳細講解

全面介紹Spring MVC的架構、原理、核心概念和操作,通過案例完整呈現Tomcat的實現,系統總結Spring MVC九大組件的處理以及常用的技巧和實踐

在大型網站和復雜系統的開發中,Java具有天然的優勢,而在Java的Web框架中Spring MVC以其強大的功能以及簡單且靈活的用法受到越來越多開發者的青睞。本書不僅詳細地分析Spring MVC的結構及其實現細節,而且講解網站的不同架構及其演變的過程,以及網路底層協議的概念及其實現方法,幫助讀者開發更高效的網站。

通過本書,你將:

系統學習網站的各種架構以及每種架構所針對的問題。

深入分析Web底層協議及其實現方法。

系統理解Spring MVC框架,為靈活開發高質量產品打下堅實基礎。

深入理解Spring MVC的編程技巧和設計理念,提高綜合思考、整體架構的能力。

學習作者自研的源代碼分析方法——器用分析法,高效學習程序源代碼。

E. 一個簡單的SpringMVC需要哪些jar包

spring依賴的jar包如下:
下面是每個jar包的說明
spring.jar 是包含有完整發布模塊的單個jar 包。但是不包括mock.jar, aspects.jar, spring-portlet.jar, and spring-hibernate2.jar。
spring-src.zip就是所有的源代碼壓縮包。
除了spring.jar 文件,Spring 還包括有其它21 個獨立的jar 包,各自包含著對應的Spring組件,用戶可以根據自己的需要來選擇組合自己的jar 包,而不必引入整個spring.jar 的所有類文件。
spring-core.jar
這個jar 文件包含Spring 框架基本的核心工具類。Spring 其它組件要都要使用到這個包里的類,是其它組件的基本核心,當然你也可以在自己的應用系統中使用這些工具類。
外部依賴Commons Logging, (Log4J)。
spring-beans.jar
這個jar 文件是所有應用都要用到的,它包含訪問配置文件、創建和管理bean 以及進行Inversion of Control / Dependency Injection(IoC/DI)操作相關的所有類。如果應用只需基本的IoC/DI 支持,引入spring-core.jar 及spring-beans.jar 文件就可以了。
外部依賴spring-core,(CGLIB)。
spring-aop.jar
這個jar 文件包含在應用中使用Spring 的AOP 特性時所需的類和源碼級元數據支持。使用基於AOP 的Spring特性,如聲明型事務管理(Declarative Transaction Management),也要在應用里包含這個jar包。
外部依賴spring-core, (spring-beans,AOP Alliance, CGLIB,Commons Attributes)。
spring-context.jar
這個jar 文件為Spring 核心提供了大量擴展。可以找到使用Spring ApplicationContext特性時所需的全部類,JDNI 所需的全部類,instrumentation組件以及校驗Validation 方面的相關類。
外部依賴spring-beans,

F. SpringMVC表單提交時,多文件上傳和單個文件上傳有些什麼區別

基於Spring3 MVC實現基於form表單文件上傳
一:雜項准備
環境搭建參考這里-http://blog.csdn.net/jia20003/article/details/8471169
二:前台頁面
根據RFC1867,只要在提交表單中聲明提交方法為POST,enctype屬
性聲明為multipart/form-data, action聲明到要提交的url即可。具體如下:

三:spring配置
使用spring3的MultipartHttpReqest來接受來自瀏覽器的發送的文件內容。
需要配Multipart解析器在express-servlet.xml中。內容如下:

同時還需要在maven的pom.xml文件添加apachefileupload與common-io兩個包。

四:Controller中方法實現

[java] view plain
@RequestMapping(value = "/uploadFile", method = RequestMethod.POST)
public ModelAndView getUploadFile(HttpServletRequest request, HttpServletResponse response) {
System.out.println("fucking spring3 MVC upload file with Multipart form");
String myappPath = request.getSession().getServletContext().getRealPath("/");
try {
if (request instanceof MultipartHttpServletRequest) {
MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
System.out.println("fucking spring3 MVC upload file with Multipart form");
// String myappPath = multipartRequest.getServletContext().getRealPath("/");
// does not work, oh my god!!
MultipartFile file = multipartRequest.getFiles("userfile1").get(0);
long size = file.getSize();
byte[] data = new byte[(int) size];
InputStream input = file.getInputStream();
input.read(data);

// create file, if no app context path, will throws access denied.
// seems like you could not create any file at tomcat/bin directory!!!
File outFile = new File(myappPath + File.separator + file.getOriginalFilename());
if(!outFile.exists()) {
outFile.createNewFile();
System.out.println("full path = " + outFile.getAbsolutePath());
} else {
System.out.println("full path = " + outFile.getAbsolutePath());
}
FileOutputStream outStream = new FileOutputStream(outFile);

outStream.write(data);
outStream.close();
input.close();
}
} catch (Exception e) {
e.printStackTrace();
}

return new ModelAndView("welcome");
}

G. 如何實現springmvc將返回的給前端的pdf文件放在瀏覽器里預覽

1,在web路徑下建立一個uploadFiles文件夾。

2,在springMVC里映射文件就像映射靜態文件那樣。

<mvc:resources mapping="/pdf/**" location="/uploadFiles/"/>

3,寫個controller返回PDF的URL路徑。

@Controller
@CrossOrigin(origins = "*")
public class PDFController {

@ResponseBody
@RequestMapping(value = "/pdf", method = RequestMethod.GET)
public String pdfDownload() throws IOException
{
String retString = null;
String dir = XXXX文件在伺服器中路徑。
String path = httpServletRequest.getRequestURL() + dir.substring(dir.lastIndexOf('\'));
retString = path.replaceAll("\\","/");
Map<String,Object >map = new HashMap<>();
map.put("code",0);
map.put("pdf",retString);
return JSON.toJSONString(map);
}
}

4,返回的JSON數據。

{"code":0,"pdf":"8080/pdf/1472128890165sample.pdf"},前面加上http://127.0.0.1:。

5,瀏覽器中直接打開pdf這個url就可以預覽PDF啦。

閱讀全文

與spring3mvc下載文件相關的資料

熱點內容
g71的編程應注意什麼 瀏覽:572
文件路徑不符合是什麼意思 瀏覽:543
qq如何換綁微信綁定 瀏覽:67
文件包下載的安裝包在哪裡 瀏覽:811
90版本升級不送 瀏覽:186
工具箱英文 瀏覽:382
南翔嘉定編程課哪裡好 瀏覽:853
win10改變文件格式 瀏覽:475
linux中的物理地址和虛擬地址 瀏覽:493
有哪些app可以接游戲訂單 瀏覽:472
蘋果硬碟數據恢復要多少錢 瀏覽:394
js綁定下拉框資料庫數據 瀏覽:448
cad文件怎麼復制到另一個文件里邊 瀏覽:858
dxp鑽孔文件 瀏覽:631
iphone大悅城換機 瀏覽:538
找結婚對象上什麼網站 瀏覽:974
學生信息管理系統程序設計報告 瀏覽:640
微信文件怎麼刪除怎麼恢復 瀏覽:407
編程程序怎麼復制 瀏覽:467
文件更改 瀏覽:327

友情鏈接