page指令
<%@page import="java.net.URLEncoder"%>
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
JSP输出
<%out.print("ddd")%>
<%out.println("ddd")%>
表达式与变量
<%=Java表达式%>
<% type name =value%>声明局部变量
<% !type name =value%>全局
转义字符
JSP页面错误代码
404 找不到访问的页面或资源
500 JSP代码错误
页面无法显示
JSP的九大内置对象
JSP九大内置对象分为四类:
输入输出对象:out对象、response对象、request对象
通信控制对象:pageContext对象、session对象、application对象
Servlet对象:page对象、config对象
错误处理对象:exception对象
JSP四大作用域:
page范围:只在一个页面保留数据(javax.servlet.jsp.PageContext(抽象类))
request范围:只在一个请求中保存数据(javax.servlet.httpServletRequest)
Session范围:在一次会话中保存数据,仅供单个用户使用(javax.servlet.http.HttpSession)
Application范围:在整个服务器中保存数据,全部用户共享(javax.servlet.ServletContext)
九大对象简介:
1.out对象:用于向客户端、浏览器输出数据。
<%out.print("ddd")%>
<%out.println("ddd")%>
<%=变量/内容%>
<%=Java表达式%>
<% type name =value%>声明局部变量
<% !type name =value%>全局
转义字符:
2.request对象:封装了来自客户端、浏览器的各种信息。
request.getParameter("userName");
request.setAttribute("info",info);
转发
request.getRequestDispatcher("/login.jsp").forward(request,response);
3.response对象:封装了服务器的响应信息。
重定向
response.sendRedirect("/login.jsp?er="+info);
4.exception对象:封装了jsp程序执行过程中发生的异常和错误信息。
5.config对象:封装了应用程序的配置信息。
6.page对象:指向了当前jsp程序本身。
<%@page import="java.net.URLEncoder"%>
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
7.session对象:用来保存会话信息。也就是说,可以实现在同一用户的不同请求之间共享数
8.application对象:代表了当前应用程序的上下文。可以在不同的用户之间共享信息。
9.pageContext对象:提供了对jsp页面所有对象以及命名空间的访问。
JSP页面错误代码
404 找不到访问的页面或资源
500 JSP代码错误
页面无法显示
解决JSP乱码问题
1.POST方式解决乱码
接收
request.setCharacterEncoding("UTF-8");
响应
response.setCharacterEncoding("UTF-8");
response.setContentType("UTF-8"); 包含了上一个和设置URI的字符集编码为UTF-8。
2.GET方式解决乱码
方式一
接收
String args =null;
byte[] info = args.getBytes("ISO-8859-1");
args = new String(info,"UTF-8");
整合:args = new String(args.getBytes("ISO-8859-1"),"UTF-8");
响应 位置颠倒就好
args = new String(args.getBytes("UTF-8"),"ISO-8859-1");
方式二
修改tomcat/conf/server.xml下的文件 在<Connector>标签后加上 URIEncoding="UTF-8"
不使用重定向的情况下解决乱码问题只需要两行
request.setCharacterEncoding("UTF-8");
response.setCharacterEncoding("UTF-8");或者response.setContentType("UTF-8");