JavaWeb+JSP+路径问题+跳转(HTML|Servlet|JSP)|这一篇就够了(超详细)
🙈作者简介:练习时长两年半的Java up主 🙉个人主页:老茶icon 🙊 ps:点赞👍是免费的,却可以让写博客的作者开兴好久好久😎 📚系列专栏:Java全栈,计算机系列(火速更新中) 💭 格言:种一棵树最好的时间是十年前,其次是现在 🏡动动小手,点个关注不迷路,感谢宝子们一键三连
目录
课程名:JavaWeb内容/作用:知识点/设计/实验/作业/练习学习:JavaWeb+JSP
环境与设备JSPJSP的组成1.HTML元素*2.Java脚本*3.表达式*4.注释5.指令6.声明7.动作
路径问题绝对路径相对路径
跳转HTML to HTML/JSPHTML to ServletServlet/JSP to Servlet/JSP/HTML请求转发重定向
跳转过程中传递参数总结
课程名:JavaWeb
内容/作用:知识点/设计/实验/作业/练习
学习:JavaWeb+JSP
环境与设备
1.软件:IntelliJ IDEA 2022.3.2 2.环境:Windows 11 and JDK 11
JSP
Java Server Pages
使用Java开发,运行在服务器上的页面,称为JSP。
JSP页面的后缀名为.jsp
由于最初由Servlet编写页面,会在Servlet中出现大量的HTML代码,使用极不方便,
由SUN公司主导推出JSP,在HTML页面中嵌入Java代码,简化了页面的编写过程,页面也成为动态页面。
JSP实际是一个java类,具体为一个Servlet,第一次访问某个JSP页面,相当于编译运行Servlet,所以会慢一些。
访问JSP的流程:编译对应的Servlet–>运行Servlet。
JSP的生命周期同Servlet。
使用JSP时,可以导入该依赖,在JSP中方便提示
JSP的组成
1.HTML元素*
2.Java脚本*
<%
java代码;
%>
3.表达式*
用于在页面中输出变量或字符串。
无需分号。
<%=变量%>
4.注释
jsp注释在访问jsp时不会在浏览器中看到
html注释在访问jsp时会再浏览器中看到
<%--注释--%>
5.指令
<%@ 指令名 属性="值"%>
page指令
用于设置当前页面的属性 include指令
用于嵌入其他页面 taglib指令
用于导入其他标签库
6.声明
可以在这里定义方法、全局变量等
<%!
void fun(){}
%>
7.动作
使用标签定义一些功能。
//包含另一张页面
路径问题
绝对路径
完整路径
相对路径
/
从项目根目录出发。即域名+端口号
./
从当前位置出发
…/
退出当前目录后出发
如当前位于localhost:8080/shop/pages/index.html
在该页面中,如果使用

表示访问localhost:8080/xxx.jpg

表示访问localhost:8080/shop/pages/xxx.jpg

表示访问localhost:8080/shop/xxx.jpg
跳转
HTML to HTML/JSP
HTML to Servlet
Servlet/JSP to Servlet/JSP/HTML
请求转发
request.getRequestDispatcher("目的路径").forward(request,response)
使用请求转发跳转到目的地后,浏览器的地址栏是最初访问的路径可以在请求转发时,在request对象中保存数据,如request.getParameter()、request.setAttribute()在执行查询时,通常将查询后的结果保存在request对象中后,使用请求转发跳转到页面中
重定向
response.sendRedirect("目的路径");
使用重定向跳转到目的地后,浏览器的地址栏是最终访问的目的地路径如果在重定向时使用request对象保存数据,后续无法获取保存的内容在执行增删改后使用重定向跳转到目的地,防止重复提交
跳转过程中传递参数
由页面发送数据到servlet或jsp,通常使用表单元素或在某个URL后使用"?参数=值"方式提交参数,获取时使用request.getParameter(“参数”)获取
//返回值为String
String str=request.getParameter("id");
由servlet发送数据到页面,使用request.setAttribute(String str,Object obj)保存obj到请求对象中,命名为str,获取时使用request.getAttribute(String str)
public class XXXServlet extends HttpServlet{
protected void service(HttpServletRequest req,HttpServletResponse resp){
List obj = new ArrayList();
req.setAttribute("list",obj);
req.getRequestDispatcher("xxx.jsp").forward(req,resp)
}
}
<%
//返回值为Object类型
Object obj = request.getAttribute("obj");
List list = (List) obj;
%>
总结
好好学习,天天向上。
往期专栏Java全栈开发数据结构与算法计算机组成原理操作系统数据库系统物联网控制原理与技术
尼康单反怎么开机 尼康单反怎么充电