Jsp 内置对象
别人已经创建好的,不用我们自己创建,例如 out
1、输出输入对象:request对象、response对象、out对象
2、通信控制对象:pageContext对象、session对象、application对象
3、Servlet对象:page对象、config对象
4、错误处理对象:exception对象
Jsp 的执行过程
Jsp和Servlet的区别
1、Jsp是一种脚本语言,简化了Java和Servlet的使用难度,同时扩展了网页动态执行的能力
2、Jsp仍没有超出Java和Servlet的范围。不仅Jsp页面上可以直接写Java代码,而且Jsp是先被编译成Servlet之后才实际运行的
3、Jsp在服务器上执行,并将执行结果输出到客户端浏览器
Jsp页面结构
1: <%@ page language="java" import="java.util.*" pageEncoding="gbk"%>
2:
3: ...
4:
5: <html>
6: <body>
7: 其他HTML语言
8: <%
9: 符合Java语法的Java语句
10: %>
11: 其他HTML语言
12: </body>
13: </html>
Jsp注释
Jsp注释有两种形式,一种是HTML注释,另一种是隐藏注释,客户端不可见的,主要是程序员为了方便变成而是用的注释。
HTML注释:<!--HTML注释,在客户端可以看见—>
隐藏著是:<%--隐藏注释,不发送到客户端,客户端不可见—>
备注:HTML改成Jsp只需在头部加一行配置指令声明,后缀名改成 .jsp
<%!
Jsp 的声明部分,可以用来定义方法,不能直接写程序。(但是不要这么写,要定义在类中)
%>
<%=s(具体的值,可以是方法,方法要有返回值)
%> 输出表达式
Jsp向Servlet传递参数
get方式:超链接
post方式:Form表单
中文乱码问题:
1、将页面的编码格式设置为GBK或者GB2312 可以在页面上正常显示简体中文
2、当把中文作为参数进行传递的时候,也会产生中文乱码问题,对于不同的传递类型,解决方案如下:
POST传递:在接收参数之前,设置一下request对象的编码格式,如下:request.setCharacterEncoding("GBK");
GET传递:定义一个方法对中文参数进行重新编码,方法如下:String str1 = new String(str.getBytes("ISO-8859-1"),"GBK");
重定向:不是从servlet直接跳过去,而是命令浏览器再发送一次请求。
转发:转发是同样项目里的文件。