java中路径总结&servletpost和get乱码解决
路径:
一般包括:
超链接:
form表单:
重定向:
转发:
包含:
ServletContext对象获得资源:
url-pattern路径:
上面的路径主要分为两大类:
a:客户端路径:
超链接:
form表单:
重定向:
相对路径:/:相对于当前的
主机名称: 绝对路径:http:// localhost:8080 / javaEE-09 / AServlet?username = lisi&password = 321;
b:服务器端路径:
转发:
包含:
ServletContext对象获得资源:/:
url-pattern路径:/:
服务器端只能使用相对路径:
/: 开头:::是是以/开头
:
**强烈建议:使用/开头:使用/是相对于当前web应用程序。**
c:获得资源路径的总结:
获得资源方法:三种:
1 ServletContext 对象获得资源: / : web应用:
2 Class : /: 相对于类路径:
: 不是/开头 相对于当前文件的存放的位置。
3 loader: / : 都是相对于类路径:
:
三:编码:
响应编码:
response.getWriter(“中文“); 直接响应中文会出现乱码问题:
(1)乱码产生的原因:字符
流:PrintWriter默认使用西欧字符集:
并且客户端浏览器使用:默认使用gbk解码:
最终产生乱码:两层乱:
解决:
告知服务器:编码的时候使用utf-8:
API:方法:response.setCharacterEncoding(“utf-8”);
告知浏览器:使用utf-8进行解码:
API:response.setHeader(“content-type”,“text / html; charset = utf-8“);
便捷方式解决: response.setContentType(”text / html; charset = utf-8“);
[code]import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; /** * Servlet implementation class CServlet * * 解决响应编码的问题: */ public class CServlet extends HttpServlet { private static final long serialVersionUID = 1L; /** * @see HttpServlet#HttpServlet() */ public CServlet() { super(); // TODO Auto-generated constructor stub } /** * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) */ public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { /* * 乱码产生的原因: * * 字符流: PrintWriter默认使用西欧字符集: * 并且客户端浏览器使用: 默认使用gbk 解码: * 最终产生乱码: 两层乱: * * * 解决: * 客户端服务器: 编码的时候使用 utf-8 : * API: 方法: response.setCharacterEncoding("utf-8"); * */ //response.setCharacterEncoding("utf-8");// 设置当前的响应编码为: utf-8 //设置一个响应头信息: 告知客户端浏览器使用 utf-8进行解码: //response.setHeader("content-type", "text/html;charset=utf-8"); // 便捷方式: response.setContentType("text/html;charset=utf-8"); PrintWriter out = response.getWriter(); out.append("Served at: ").append(request.getContextPath()); out.println("<br/>"); out.println("俊哥"); out.println("ninhao~");; out.close(); } /** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); } }
四:请求编码:
HTTP://本地主机:8080 / JAVAEE-09 / DServlet用户名=你好;
原因:客户端浏览器:您好编码的格式不确定。不同的客户端浏览器不一样。
服务器端:使用iso-8859-1
post请求:
(1)确定html页面使用的编码格式:<meta>决定:
(2)在服务器端:设置服务器解析请求体的解码:
API:request.setCharacterEncoding(“utf-8”);
get请求:get请求提交的参数不在请求体当中,上述方法不生效:
案例:
String username = request.getParameter(“username”);
//反编:获得最原始字节数组:
byte [] bytes = username.getBytes(“iso-8859-1”);
//使用自己制定的
字符集进行解码: String name = new String(bytes,“utf-8”);
五:URI:
URI:编码:当客户端浏览器,在传递一些特殊字符的时候,需要对其进行URI编码.post
:请求能够自动获得uri编码。服务器能够自动解析:
get:
encodeURIComponent()
实现步骤:
(1)定义一个字符串:
(2)使用utf-8获得字节:
数组; (3)数组当中每个值加上256。
(4)获得每个值的十六进制。
(5)在每个值前边加上%;
六:JSP:在小服务程序之后诞生:
1:定义:(Java服务器页面)和HTML的作用相同;
。JSP属于动态的资源嵌入的Java代码在页面当中可以嵌入变量:
2:jsp组成:
html + java脚本+动作标签;
3:在jsp上嵌入java代码:
<%...%>:Java语句;
<%= ...%>:Java表达式;向浏览器输出内容:
<%!...%>:Java定义类成员;成员方法,成员变量:
4:jsp的本质:
jsp:本质上就是一个servlet。
当客户端浏览器访问jsp页面,tomcat服务器会将动态资源,生成一个静态资源
.jsp ---- - “servlet ----> out.println();
- java中form以post、get方式提交数据中文乱码问题总结
- Servlet中文乱码原因 解决 Get 和 Post 和客户端
- Java中Servlet的Get和Post乱码问题
- JAVA中Get、Post方式提交中文乱码解决方法
- 解决servlet在post/get传递中文乱码的问题
- java中form以post、get方式提交数据中文乱码问题总结
- java中form以post、get方式提交数据中文乱码问题总结(转)
- java中post乱码和get乱码的解决方法
- servlet中post与get请求中文乱码解决
- Java jsp/servlet GET/POST 字符集编码问题(中文乱码)
- 解决servlet中文乱码问题及get、post请求方式的讲解
- 解决Servlet中get或post中文乱码问题
- java 接受和发送http,post,get请求,参数中文乱码解决。
- servlet中get和post的中文乱码解决
- 全站编码 解决Get、Post乱码问题(Servlet)
- java中form以post、get方式提交数据中文乱码问题总结
- servlet中解决get和post方法提取内容乱码问题
- javaweb之request乱码解决(数据提交以post方式和get方式)
- java中form以post、get方式提交数据中文乱码问题总结
- 解决Get和Post请求中中文乱码问题 (2013-01-26 23:59:39)转载▼ 标签: javaee it 分类: JavaEE 对于Post请求,只需在Servlet或者jsp中写入如下