基于HttpServletResponse 相關(guān)常用方法的應(yīng)用
public void filedownload(HttpServletResponse response) throws Exception {
ServletContext context = this.getServletContext();
String path = context.getRealPath("/download/awf.jpg");
String filename = path.substring(path.lastIndexOf("\\") + 1);
// 如果下載文件為中文文件,則文件名需要經(jīng)過(guò)url編碼;
response.setHeader("Content-disposition", "attachment;filename="+ URLEncoder.encode(filename, "UTF-8"));
InputStream in = new FileInputStream(path);
int len = 0;
byte[] buffer = new byte[1024];
OutputStream out = response.getOutputStream();
while ((len = in.read(buffer)) > 0) {
out.write(buffer, 0, len);
}
in.close();
out.close();
}
BeanUtils使用:
BeanUtils.pupulate(bean,MapInstance);//用map裝載bean,map中存有bean屬性對(duì)應(yīng)的key以及key對(duì)應(yīng)的值;
BeanUtils.copyProperties(bean,MapInstance);//將map拷貝到bean中;
轉(zhuǎn)發(fā)是一次請(qǐng)求,使用的是相同的response和request;
頁(yè)面跳轉(zhuǎn):
<1>String message = "<meta http-equiv='refresh' content='3;url=/webTwo/index.jsp'><a href='webTwo/index.jsp'>AAAA</a>";
this.getServletContext().setAttribute("message", message);
this.getServletContext().getRequestDispatcher("/message.jsp").forward(request, response);//將消息帶到message頁(yè)面進(jìn)行顯示;
<2>response.setHeader("refresh", "3;url='/webTwo/index.jsp'");
response.getWriter().write("恭喜登錄成功,如果沒(méi)有中轉(zhuǎn),請(qǐng)點(diǎn)擊超鏈接<a href='webTwo/index.jsp'>AAAA</a>");
程序編碼:
// 程序以什么碼表輸出,就一定要控制瀏覽器以什么碼表打開(kāi);
// 用html中的meta技術(shù)模擬http響應(yīng)頭,來(lái)控制瀏覽器的行為;
// out.write("<meta http-equiv='content-type' content='text/html;charset=UTF-8'>".getBytes());
response.setCharacterEncoding("UTF-8");// 設(shè)置response使用的碼表,控制response以什么碼表向?yàn)g覽器寫(xiě)出數(shù)據(jù);
response.setHeader("Content-type", "text/html;charset=UTF-8");// 指定瀏覽器以什么碼表打開(kāi)數(shù)據(jù);
// 相當(dāng)上面兩句話:
// response.setContentType("text/html;charset=UTF-8");
Response.setDateHeader("expires",System.currentTimeMillis() + 1000*3600);//設(shè)置session有效時(shí)間10分鐘;
Response.getWriter().write(data); Response.getWriter() -- > return PrintWriter;
Response.setHeader("refresh","3");
- 探討.get .post .ajax ztree 還有后臺(tái)servlet傳遞數(shù)據(jù)的相關(guān)知識(shí)
- 基于HttpServletRequest 相關(guān)常用方法的應(yīng)用
- java HttpServletRequest和HttpServletResponse詳解
- HttpServletRequest對(duì)象方法的用法小結(jié)
- 淺談servlet中的request與response
- JSP中Servlet的Request與Response的用法與區(qū)別
- HttpServletRequest對(duì)象簡(jiǎn)介_(kāi)動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
- HttpServletRequest對(duì)象常用功能_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
- Java中HttpServletResponse響應(yīng)中文出現(xiàn)亂碼問(wèn)題
- HttpServletResponse亂碼問(wèn)題_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
- Servlet獲取AJAX POST請(qǐng)求中參數(shù)以form data和request payload形式傳輸?shù)姆椒?/a>
相關(guān)文章
java -jar后臺(tái)啟動(dòng)的四種方式小結(jié)
這篇文章主要介紹了java -jar后臺(tái)啟動(dòng)的四種方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-09-09SpringBoot整合JDBC、Druid數(shù)據(jù)源的示例代碼
這篇文章主要介紹了SpringBoot整合JDBC、Druid數(shù)據(jù)源,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-05-05Java并發(fā)編程——volatile關(guān)鍵字
這篇文章主要介紹了Java并發(fā)編程——volatile關(guān)鍵字的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)Java并發(fā)編程,感興趣的朋友可以了解下2020-10-10SpringCloud使用Feign實(shí)現(xiàn)遠(yuǎn)程調(diào)用的使用示例
Feign是一個(gè)基于注解的HTTP客戶端庫(kù),它允許您將HTTP請(qǐng)求轉(zhuǎn)換為聲明式的Java接口,本文主要介紹了SpringCloud使用Feign實(shí)現(xiàn)遠(yuǎn)程調(diào)用的使用示例,感興趣的可以了解一下2023-09-09Spring boot Rabbitmq消息防丟失實(shí)踐
這篇文章主要介紹了Spring boot Rabbitmq消息防丟失實(shí)踐,文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下2022-09-09spring事務(wù)里面開(kāi)啟線程插入報(bào)錯(cuò)了是否會(huì)回滾
這篇文章主要介紹了spring事務(wù)里面開(kāi)啟線程插入,報(bào)錯(cuò)了是否會(huì)回滾?這是小編遇到一道面試題,題目大概是這個(gè)樣子,今天抽空通過(guò)示例代碼給大家分析下,需要的朋友可以參考下2023-04-04Jenkins自動(dòng)化部署springboot代碼實(shí)例
這篇文章主要介紹了Jenkins自動(dòng)化部署springboot代碼實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-04-04