比较out对象与response对象的区别:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" import="java.io.*" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<%
out.println("<h3>jsp内置对象之response对象</h3>");
out.println("<br>欧拉欧拉欧拉欧拉欧拉<br>");
//out.flush();
PrintWriter outer = response.getWriter();
outer.println("<hr>");
out.println("编码方式:"+response.getCharacterEncoding());
%>
</body>
</html>
运行效果如下:
- 如图,使用response对象输出的内容总是在out对象前面
- 删掉注释后运行如下:
比较请求转发与请求重定向
main.jsp:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" import="java.io.*,java.util.*" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Insert title here</title>
</head>
<body>
<%
out.println("<h2>请求重定向与请求转发</h2>");
//response.sendRedirect("test.jsp");
request.getRequestDispatcher("test.jsp").forward(request,response);
%>
</body>
</html>
test.jsp:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<form action="post.jsp" method="POST">
姓名:<input type="text" name="name"/>
<br>
密码:<input type="password" name="password" />
<input type="submit" value="提交" />
</form>
</body>
</html>
post.jsp:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<ul>
<li><p>姓名:
<%
String name = new String((request.getParameter("name")).getBytes("ISO-8859-1"),"UTF-8");
%>
<%= name %>
</p>
</li>
<li><p>密码:
<%= request.getParameter("password") %>
</p></li>
</ul>
</body>
</html>
请求重定向后的地址:
请求转发地址: