㈠ springmvc項目中jsP頁面有一個form表單帶文件上傳,配置了post請求方式 ,con
首先要搞清楚Http中Get/Post請求區別:
(1)get是從伺服器上獲取數據,post是向伺服器傳送專數據。屬
(1)在客戶端,Get方式在通過URL提交數據,數據在URL中可以看到;POST方式,數據放置在HTML HEADER內提交。
(2)對於get方式,伺服器端用Request.QueryString獲取變數的值,對於post方式,伺服器端用Request.Form獲取提交的數據。
(2)GET方式提交的數據最多隻能有1024位元組,而POST則沒有此限制。
(3)安全性問題。正如在(1)中提到,使用 Get 的時候,參數會顯示在地址欄上,而 Post 不會。所以,如果這些數據是中文數據而且是非敏感數據,那麼使用 get;如果用戶輸入的數據不是中文字元而且包含敏感數據,那麼還是使用 post為好。
㈡ web前端開發spring mvc後台向前台jsp頁面傳遞參數只能用request。setattribute()嗎
在action裡面定義你想要傳回頁面的變數,然後設置getter和setter就行了把
㈢ springmvc在類上使用@RequestMapping,怎麼用變數
1.請加上@PathVariable(value = "id") 就可以了
@RequestMapping("/{id}/index")
public ResponseEntity<Integer> toIndex2(@PathVariable(value = "id")Integer id){
//去id值
System.out.println("id: "+id);
return ResponseEntity.ok(id);
}
2.擴展
@PathVariable
使用@PathVariable接收參數,參數值需要在url進行佔位,前端傳參的URL:
㈣ SpringMVC怎麼向前台JSP頁面傳值
SpringMVC是通過controller給jsp傳值的。
在springmvc中的controller所對應的函數中,如果需要從*.jsp頁面中獲取數據,可以自行在函數括弧中寫,springmvc會自動封裝傳過來的。
舉例:
1、Controller.java 兩種形式都可以,但是第二種,jsp頁面中的參數是personList1
//列表
@RequestMapping("/listAll")
public String listAll(Map<String,Object> model){
List<Person> personList = ps.listAll();
model.put("personList", personList);
System.out.println(" listall hello");
return "person/jPersonList";
}
//列表
@RequestMapping("/listAllOther")
public String listAllOther(Model model){
List<Person> personList1 = ps.listAll();
model.addAttribute(personList1);
System.out.println(" listallother1 hello");
return "person/jPersonList";
}
2、jsp頁面中
<%@ page language="java" pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<html>
<head>
<title>My JSP 'index.jsp' starting page</title>
</head>
<body>
<h2>用戶列表</h2>
<div style="padding:10px;"><a href="${pageContext.request.contextPath}/person/tocreate.action">新增</a></div>
<table border="1">
<tr>
<td>photo</td>
<td>id</td>
<td>name</td>
<td>age</td>
<td>操作</td>
</tr>
<c:forEach items="${personList}" var="p">
<tr>
<td><img src="${pageContext.request.contextPath}"/></td>
<td>${p.id}</td>
<td>${p.name}</td>
<td>${p.age}</td>
<td>
<a href="${pageContext.request.contextPath}/person/toupdate.action?id=${p.id}">修改</a>
<a href="${pageContext.request.contextPath}/person/delete.action?delId=${p.id}">刪除</a>
</td>
</tr>
</c:forEach>
</table>
</body>
</html>
㈤ spring mvc controller可以用Map接收jsp傳來的值么
不可以,map不具有封裝性,盡量使用request封裝一個對象接收
㈥ spring mvc 怎麼指向jsp頁面
spring mvc 指向jsp頁面的方法是利用視圖解析器。
1 UrlBasedViewResolver:它是對ViewResolver的一種簡單實現,而且繼承了AbstractCachingViewResolver,主要就是提供的一種拼接URL的方式來解析視圖,它可以讓我們通過prefix屬性指定一個指定的前綴,通過suffix屬性指定一個指定的後綴,然後把返回的邏輯視圖名稱加上指定的前綴和後綴就是指定的視圖URL了。
下面是一段UrlBasedViewResolver的定義,根據該定義,當返回的邏輯視圖名稱是test的時候,UrlBasedViewResolver將把邏輯視圖名稱加上定義好的前綴和後綴,即「/WEB-INF/test.jsp」,然後新建一個viewClass屬性指定的視圖類型予以返回,即返回一個url為「/WEB-INF/test.jsp」的InternalResourceView對象。
<bean
class="org.springframework.web.servlet.view.UrlBasedViewResolver">
<property name="prefix" value="/WEB-INF/" /> 指定路徑
<property name="suffix" value=".jsp" /> 指定jsp為後綴
<property name="viewClass" value="org.springframework.web.servlet.view.InternalResourceView"/> 指定視圖轉向類
</bean>
在前端頁面編寫以下controller:
@RequestMapping("testResourceBundle")
public String testResourceBundle() {
return "test";
}
默認跳轉到/WEB-INF/test.jsp頁面,完成整個頁面交互