1.三种编写Java代码的标签
- <% %>
- 编写的内容是在 _jspService 方法内
- <%=“XXX” %>
- 此时,就是在 _jspService 方法内呈现就是out.print(“XXX”);
- <%! %>
- 编写的内容就是成员变量 或 方法
2.JSP引入类
1. <%@ page import=“java.util.Date” language=“java” %>
3.解决乱码
-
post
-
在获取值之前使用request.setCharacterEncoding(“UTF-8”);
如: request.setCharacterEncoding("UTF-8"); request.getParameter("userName")
-
-
get
-
使用String的构造进行编码的转换 (每一个参数都要进行装换)
String username = request.getParameter("username"); //手动改,繁琐 username = new String(username.getBytes("iso-8859-1"),"UTF-8");
-
设置tomcat的 tomcat\conf\server.xml (修改编码不灵活)
<!-- 添加 URIEncoding="UTF-8" --> <Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443" URIEncoding="UTF-8"/>
-
设置tomcat的 tomcat\conf\server.xml (优选)
1. 配置 server.xml <!-- 添加 useBodyEncodingForURI="UTF-8" --> <Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443" useBodyEncodingForURI="UTF-8"/> 2. Java request.setCharacterEncoding("UTF-8"); request.getParameter("userName")
-
4.GET与POST区别
比较内容 | GET | POST |
---|---|---|
参数是否是明文(明文不安全) | 是 | 否 |
参数的长度是否有限制 | 是 | 否 |
是否可以传播分享 | 是 | 否 |
5. 转发与重定向
-
转发
-
核心
- 服务器之间的请求的转发可以共用请求资源
- 一次请求,一次响应
-
实现
request.getRequestDispatcher("path") .forward(request,response);
-
-
重定向
-
核心
- 多次请求多次响应
- 重定向的地址可以是外部资源
-
实现
// 重定向 多次请求 多次响应 response.sendRedirect("server2.jsp");
-
-
两者不同点
转发 | 重定向 | |
---|---|---|
一次请求 | 是 | 否 |
目标资源 | 仅web服务 | 任意url |
是否可以共享请求资源 | 是 | 否 |
URL是否有变化 | 否 | 是 |
操作者 | 服务器 | 客户端 |