JSP基础知识
程序员文章站
2022-06-01 22:21:41
...
什么是JSP?
JavaServerPages服务器端页面,根本是一个简化的Servlet设计,本质就是在HTML中插入java代码。
为什么学习JSP?
克服servlet的一些缺点,补强servlet的不足,简化动态网页开发:
- servlet需要配置,不方便维护;
- servlet很难向网页中输出html页面内容。
JSP运行原理
- JSP需要发布到服务器中才可以运行。
- JSP文件被服务器翻译成java文件,再由服务器编译生成class文件,最后运行,jsp就是一个servlet。
JSP的脚本元素
jsp= html+java代码+jsp自身东西:jsp的脚本元素就是在jsp中嵌入java代码。
- JSP脚本元素的分类
- 声明标签(不常用,以保证线程安全)
语法:<%! 变量或方法声明 %>
,写在这个脚本中的代码,翻译成servlet内部的成员变量或成员方法。 - 表达式标签
语法:<%= 表达式 %>
,写在这个脚本中的代码,翻译成方法内部的out.print()当中的内容——输出。 - 程序代码标签
语法:<% 程序代码 %>
,写在这个脚本中的代码,翻译成方法内部的局部变量或方法内部代码片段。
- 声明标签(不常用,以保证线程安全)
JSP的开发模式之MVC开发模式
请求转发和响应重定向
- 请求转发
- 请求转发通过request对象调用,把请求对象和响应对象与要跳转的地址共享:
request.getRequestDispatcher("showIP.jsp").forward(request, response);
- 响应重定向
- 响应重定向通过response对象调用,让浏览器向重定向的地址重新发送一次请求:
response.sendRedirect("error.jsp");
- 两者区别
开发中的路径问题
-
什么时候会遇到路径问题
展示页面提供链接或者表单,当点击链接或者表单的时候需要进行提交,提交到servlet中,从页面向servlet发送请求的地址(路径)应该如何编写。 -
路径分类
- 相对路径(少用)
demo1访问servletdemo1:
- 相对路径(少用)
// 需返回上一级目录情况,../代表返回上一级
<a href="../ServletDemo1">相对路径</a>
//若在同一级目录,直接写文件名或者./
<a href="./ServletDemo1">相对路径</a>
<a href="ServletDemo1">相对路径</a>
- 绝对路径(常用)
//绝对路径通常以 / 开头
//绝对路径可以省略ip和端口号,从/工程名开始
<a href="http://localhost:8080/web02_heima/ServletDemo1">绝对路径</a>
<a href="/web02_heima/ServletDemo1">绝对路径</a>
绝对路径不需要关心当前文件与要请求文件的相对位置关系!
绝对路径分为服务器端路径和客户端路径:
- 客户端路径 需要带工程名
- 服务器端路径 不需要带工程名