jsp的基本使用步骤
1.介绍
- 1.1.JSP是sun公司提供一个规范
- 1.2.JSP用于封装响应对象简化将Servlet处理结果写入到响应体降低开发难度
- 1.3 在JSP页面中,将小脚本(script),表达式(expression),声明(declaration)统称为JSP脚本元素,用于在JSP页面中嵌入JAVA代码,实现页面的动态处理
2.优势
- 2.1 开发人员你只需要考虑哪些内容需要写入到响应体,不需要考虑写入到响应包中过程
- 2.2 jsp文件"运行时"自动将文件内部所有与java命令无关的内容自动写入到响应体
3.jsp文件中java命令书写规范
3.1 执行标签
格式如下:
局部定义:<%内容填写java代码(如:定义一个变量String name = "张三")
但不能定义方法,只能定义局部变量%>
全局定义:<%!内容可以定义的是全局变量,比如就像在class里面定义的属性一样,也可以定义方法%>
3.2 执行标签
1)输出:<%=里面写入的是你要输出的内容(如:你要输出上面你定义的name,只需要添加到里面即可)name%>
2)作用:在JSP文件运行时,通知JSP将指定变量内容或者表达式运算结果写入到响应体
3.2jsp页面各个属性的用途,如图所示:
4.JSP 九大内置对象
4.1 分别是:
HttpServletResponse response;(响应)
HttpServletRequest request;(请求)
final java.lang.Object page = this;(页面)
ServletContext application ;(全局作用域)
javax.servlet.jsp.JspWriter out = null;(输出s)
final javax.servlet.ServletConfig config;(配置)
javax.servlet.http.HttpSession session = null;(会话作用域)
final javax.servlet.jsp.PageContext pageContext; ( 页面上下文)
exception (异常)
5.JSP常见Http状态码问题
5.1 404状态码
Http服务器通知浏览器本次索要的资源文件不存在
原因:
1)人为原因:
网站名不对
如果网站名正确,可能资源文件名称
tomcat没有在网站定位默认欢迎资源文件
设置请求地址没有按照uri格式(/网站名/资源文件名)设置
2)IEDA没有将最新网站内容交给tomcat
5.2 500:Http服务器通知浏览器本次索要的资源文件已经被找到了并且
也可以接收浏览器的请求方式,但是由于资源文件在处理过程
出现了异常因此无法提供服务
异常:并不是命令写错了,命令使用数据不满足条件
***一个异常至少遇到三次以上才有可能进行解决
5.3 405: Http服务器通知浏览器本次索要的资源文件已经被找到了,但是
这个资源文件对于浏览器请求方式无法接收(请求方式错误的原因)
get
浏览器------------》servlet.doGet()
post
浏览器-----------》 servlet.doPost()
6.JSP欢迎页面设置
6.1
在web.xml文件里面修改默认访问地址,在正常情况下,默认访问地址index.html。
就跟if()else{}的结果差不多
他首先判断第一个文件是否存在,不存在找第二个index.htm然后再找第三个index.jsp
因为猜不到大概模样我们看看结构:
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
7.中文乱码问题
**7.1post请求:**
在调用jsp跳转至后,也就是获取请求参数之前设置,调用request.setCharacterEncoding("utf-8");
这样一来就不会出现中文乱码问题
**7.2 get请求:**
Tomcat队请求默认采用的是IOS-8859-1字符集进行解码
治标不治本的方法一:
将乱码的字符串打散为byte数组,再通过new String方法,x使用指定的UTF-8字符集把byte数组构造为一个全新的String对象
方法二:修改tomcat配置文件server.xml,添加URlEncoding="utf-8";
方法一图片:
方法二图片:
8.web.xml文件简单介绍
最开始的时候是xml的格式,也就是在以前还没有html格式的文件之前,都是用xml文件写的页面,当时因为那个作者的原因 他更新了1.0版本后,过来一段时发布了新版本,结果很多人都认为这个新版本不行,不好,这个作者呢,脾气不好,看到这么多人否认他,他直接删除了新版本的发布,随之后来才有的HTML这样的超文本编辑语言;(自我理解!!如有不到位,莫喷!!欢迎评论留言谢谢~!)
也就是说
xml是父亲
html是子
html和xml语法几乎是完全一致的
后来被sun公司捡了起来,作为web的配置文件
xml允许你自己声明一个标签(浏览器会蒙圈不知道他是谁)但不建议自己定义声明一个标签
9.注释
9.1
1)HTML注释方法:
<!------给开发者开的内容------>
在客户端上会被在源码上看到
2) jsp 注释标记:
<%–注释内容–%>
这种注释写给应用服务器看的 客户端无法看到
(3)在jsp 脚本中使用注释分为单行注释和多行注释 和Java一样
<%
//单行注释
/**
多行注释
*/
%>
10.实例如图所示:
一个基本的jsp页面大概就是这样(例子而已);
11.jsp运行原理[面试必考题]
11.1 jsp文件不是静态资源文件也不是动态资源文件
11.2 jsp文件不能被编译不能被调用执行
11.3 运行原理:
1)tomcat接收到调用jsp文件请求时,tomcat 将被访问jsp【编辑】为java文件
2)tomcat调用JVM将java文件【编译】为class文件
3)这个class文件是一个Servlet接口实现类
4)tomcat通过反射机制生成这个class文件的实例对象
5)tomcat通过实例对象调用_jspServlet方法,这个方法在运行时负责通过输出流将jsp文件内容写入到响应体
·