JSP

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");

 

原文地址:https://www.cnblogs.com/jiayiblog/p/10983177.html