激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - javaBean的基礎知識及常見亂碼解決方法

javaBean的基礎知識及常見亂碼解決方法

2020-08-22 10:57Java教程網(wǎng) Java教程

這篇文章主要介紹了javaBean的基礎知識及常見亂碼解決方法的相關資料,需要的朋友可以參考下

javaBean的基礎知識及常見亂碼解決方法

亂碼問題應該是做javaWeb開發(fā)人員都遇到過的問題吧,這個問題當時還影響了我學習Java的想法,甚至有過想放棄的想法,沒辦法,當時年輕,呵呵。其實產(chǎn)生亂碼問題的原因有很多,解決亂碼的問題也有很多,現(xiàn)在就一一來看一下:

出現(xiàn)亂碼的地方大致可以分為以下三種:

1 jsp頁面中
2 jsp頁面之間相互傳參的參數(shù)
3 與數(shù)據(jù)庫中數(shù)據(jù)的存取

解決方案大致可以分為三種:

  1 出現(xiàn)在jsp頁面中,是由于沒有設置jsp頁面的中文字符編碼。
  2 出現(xiàn)在jsp頁面之間相互傳參,是由于參數(shù)沒有設置正確的字符編碼。
  3 以上2個問題解決了,那么存到數(shù)據(jù)庫中,自然就不存在亂碼。除非你對存入到數(shù)據(jù)庫里的數(shù)據(jù)再次進行編碼。

具體的解決方法:

1.在表單頁面頭部設置字符編碼為utf-8

?
1
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>

加上這句解決jsp頁面中的中文亂碼顯示,tomcat編譯完后向客戶端輸出的html文件不是采用中文編碼,所以會導致亂碼產(chǎn)生。

 2.設置頁面請求和回應的編碼:

?
1
2
<%request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8"); %>

加上這句解決jsp頁面中的中文參數(shù)傳遞亂碼。把瀏覽器默認使用的編碼設置為“UTF-8”發(fā)送請求參數(shù)。

3.String(request.getParameter("name").getBytes("ISO8859_1"),"utf-8");這句的意思是,把傳來的參數(shù)全部編碼轉(zhuǎn)換成utf-8,這樣做的缺點是每次傳來一個參數(shù)都要這樣寫,很麻煩。

同樣可通過設置server.xml配置文件來實現(xiàn)。

?
1
2
3
4
5
6
7
8
9
10
11
12
< Connector
port ="8080"
maxHttpHeaderSize ="8192"
maxThreads ="150"
 minSpareThreads ="25"
maxSpareThreads ="75"
enableLookups ="false"
 redirectPort ="8443"
acceptCount ="100"
connectionTimeout ="20000"
 disableUploadTimeout ="true"  
URIEncoding ="utf-8"/> 

但是這樣就應用到整個webapp中去了。

4.還可以修改web.xml文件,配置一個過濾器。其原理都一樣,只是換種方式而已

1.編寫過濾器類:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
package org.RN.util;
 
import java.io.IOException;
 
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
 
public class Encoding implements Filter {
  @SuppressWarnings("unused")
  private FilterConfig config=null;
  String encoding=null;
 public void destroy() {
 this.encoding=null;
 this.config=null;
 
 }
 
 public void doFilter(ServletRequest request, ServletResponse response,
  FilterChain chain) throws IOException, ServletException {
   if(encoding!=null)
   request.setCharacterEncoding(encoding);
   chain.doFilter(request, response);
    
 
 }
 
 public void init(FilterConfig arg0) throws ServletException {
 this.config=arg0;
 this.encoding=arg0.getInitParameter("encoding");
 
 }
 
}

 2.在web.xml配置

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<filter>
 <description>緩存過濾</description>
 <filter-name>Encoding </filter-name>
 <filter-class>
  filter.Encoding
 </filter-class>
 </filter>
 <filter-mapping>
 <filter-name>Encoding </filter-name>
 <url-pattern>*</url-pattern>
 </filter-mapping>
 
 
</filter>

5.還有一種常見的亂碼問題就是下載時出現(xiàn)文件名亂碼

原來處理下載的代碼如下:

response.setHeader("Content-Disposition", "attachment; filename=" + java.NET.URLEncoder.encode(fileName, "UTF-8"));
URLEncoder類包含將字符串轉(zhuǎn)換為application/x-www-form-urlencoded MIME 格式的靜態(tài)方法。

URLDecoder與URLEncoder 類相對應的URLDecoder 類有兩種靜態(tài)方法。它們解碼以x-www-form-url-encoded這種形式編碼的string。也就是說,它們把所有的加號(+)轉(zhuǎn)換成空格符,把所有的%xx分別轉(zhuǎn)換成與之相對應的字符:   

       JavaBean 是一種JAVA語言寫成的可重用組件。為寫成JavaBean,類必須是具體的和公共的,并且具有無參數(shù)的構(gòu)造器。JavaBean 通過提供符合一致性設計模式的公共方法將內(nèi)部域暴露成員屬性。眾所周知,屬性名稱符合這種模式,其他Java 類可以通過自身機制發(fā)現(xiàn)和操作這些JavaBean 屬性。

         JavaBean的任務就是: “Write once, run anywhere, reuse everywhere”,即“一次性編寫,任何地方執(zhí)行,任何地方重用”。這個任何實際上就是要解決困擾軟件工業(yè)的日益增加的復雜性,提供一個簡單的、緊湊的和優(yōu)秀的問題解決方案。 

        JavaBean 的范圍 Scope 是一個具有生命時間的變量。JavaBean的范圍在<jsp:useBean scope=”….>標志中右邊進行表示。將產(chǎn)生一個JavaBean的快捷參考。 說明:jsp服務器引擎將剝離<jsp。。。。標記。并且在最終用戶的瀏覽器上無法顯示實際代碼。   

存在下面四種范圍:頁面page、請求request、對話session、應用application

對話范圍:

  對話范圍的JavaBean 主要應用于跨多個頁面和時間段: 例如填充 用戶信息。 添加信息并且接受回饋,保存用戶最近執(zhí)行頁面的軌跡。對話范圍JavaBean保留一些和用戶對話 ID 相關的信息。這些信息來自臨時的對話cookie,并在當用戶關閉瀏覽器時,這個cookie將從客戶端和服務器刪除。

頁面/請求范圍:

  頁面和請求范圍的JavaBean有時類似表單 的bean , 這是因為 他們大都用于處理表單。表單需要很長的時間來處理用戶的輸入,通常情況下用于頁面接受HTTP/POST或者GET請求。另外頁面和請求范圍的bean可以用于減少大型站點服務器上的負載,如果使用對話bean,耽擱的處理就可能會消耗掉很多資源。

應用:

  應用范圍通常應用于服務器的部件,例如 JDBC 連接池、應用監(jiān)視、用戶計數(shù)和其他參與用戶行為的類。 在Bean中限制HTML的產(chǎn)生: 理論上,JavaBean 將不會產(chǎn)生任何HTML,因為這是jsp層負責的工作;然而,為動態(tài)消息提供一些預先準備的格式是非常有用的。產(chǎn)生的HTML將被標注的 JavaBean方法返回。  

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 黄污网站在线 | 特级西西444www大精品视频免费看 | 久久精品亚洲欧美日韩精品中文字幕 | 91在线色视频 | 他也色在线视频 | 欧美日韩综合视频 | 91精品国产一区二区在线观看 | 99国产精品白浆在线观看免费 | 影视免费观看 | 国产精品久久久久久久久久久久久久久 | 国产午夜精品一区二区三区不卡 | 91精品国产99久久久久久 | 黄色影视免费看 | av成人在线播放 | av在线免费看片 | 免费观看亚洲视频 | 欧美国产一区二区三区 | 青草久久久久 | jizzyouxxxx| 日本一区二区视频在线观看 | 国产人成精品一区二区三 | 国产乱乱视频 | 中文字幕网在线 | 亚洲免费毛片基地 | 成人在线a | 日韩一级片毛片 | 日本一区二区三区视频在线 | 最新日韩中文字幕 | 亚洲精品午夜电影 | 午夜视频久久久 | 一本色道久久综合狠狠躁篇适合什么人看 | teensexhd| 色操网| 久在线播放 | 小视频免费在线观看 | 天海翼无删减av三级在线观看 | 欧美激情性色生活片在线观看 | 欧美一区二区三区久久精品视 | 色片免费在线观看 | 国产午夜免费 | 成人毛片免费网站 |