URLコード
URLコード(=%コード)
ハングルデータがURLに送信されると、ハングル値がURL照会文字列に送信されるように見えます.(GETと仮定)
ただし、上記の「アドレス」ウィンドウをコピーして手帳に貼り付けると、
http://localhost/ch2/registerInfo.jsp?id=%EC%95%88%EB%85%95&pwd=%ED%95%98%EC%84%B8%EC%9A%94&name=%EB%B0%98%EA%B0%91&email=%EC%8A%B5%EB%8B%88%EB%8B%A4&birth=%E3%85%8E%E3%85%8E%E3%85%8E
に変化
これにより、ハングルデータがURLに転送されると、ブラウザはURL符号化を行う.
URLコード:aski以外の値をaskiコードに変更(変換ルール:utf-8)
なぜ符号化プロセスを経たのですか?
ハングル通りにそのまま伝えればいいものをなぜURLでエンコードしなければならないのでしょうか?理由は簡単だ.
URLを要求する場合、サーバの観点から、要求したサーバがどのオペレーティングシステムを使用しているのか、どのような符号化方式を使用しているのか分からないため、URL中のすべての文字をASKIコード値に統一する.
URLデコード
このように符号化されたデータは、サーバから受信する際に復号される必要がある.だからコード部分でリクエストsetCharacterEncoding("UTF-8"); このようなものを記入してください.でも毎回面倒なのでweb.xmlファイルにハングル変換フィルタを追加します.<filter>
<filter-name>encodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<init-param>
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
ハングル通りにそのまま伝えればいいものをなぜURLでエンコードしなければならないのでしょうか?理由は簡単だ.
URLを要求する場合、サーバの観点から、要求したサーバがどのオペレーティングシステムを使用しているのか、どのような符号化方式を使用しているのか分からないため、URL中のすべての文字をASKIコード値に統一する.
URLデコード
このように符号化されたデータは、サーバから受信する際に復号される必要がある.だからコード部分でリクエストsetCharacterEncoding("UTF-8"); このようなものを記入してください.でも毎回面倒なのでweb.xmlファイルにハングル変換フィルタを追加します.<filter>
<filter-name>encodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<init-param>
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter>
<filter-name>encodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<init-param>
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
Reference
この問題について(URLコード), 我々は、より多くの情報をここで見つけました https://velog.io/@tyjk8997/스프링-URL-인코딩19テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol