web学习五——JSP

本文详细介绍了JSP的由来、本质、工作原理以及JSP的三种语法、内置对象、JSTL标签库、自定义标签库、EL表达式等内容,揭示了JSP如何将HTML和Java代码结合,以及JSP与Servlet的关系。同时探讨了JSP的开发模式,包括JSP+JavaBean和Servlet+JSP+JavaBean(MVC)模式,强调了在复杂web应用中的使用场景和优势。
摘要由CSDN通过智能技术生成

web应用中path的写法小结

  • 每次写路径,给谁用?上来先写个/
  • 浏览器-----/表示当前的主机名
  • web应用—/表示当前web应用的根目录
  • 1.转发
  • 2.重定向
  • 3.读取web应用下资源文件
  • 4.表单提交数据
  • 5.超链接a标签
  • 6.img标签,src
  • 7.使用类加载器获得文件的路径
  • 8.url重写http://localhost:8080/day11/servlet;jsessionid=KKVSLJFHSIFISH
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
//		 * 1.转发
		request.getRequestDispatcher("/login.jsp").forward(request, response);
//		 * 2.重定向
		response.sendRedirect("/day11/login.jsp");
//		 * 3.读取web应用下资源文件
		getServletContext().getRealPath("/1.txt");
//		 * 4.表单提交数据
//		<form action="/day11/login.jsp"></form>
//		 * 5.超链接<a>标签
//		<a href="/day11/login.jsp"></a>
//		 * 6.<img>标签,src
//		<img src="/day11/checkimage">		
//		 * 7.url重写    http://localhost:8080/day11/servlet;jsessionid=KKVSLJFHSIFISH	
		response.encodeUrl("/day11/login");
//		 * 8.使用类加载器获得文件的路径
		PathSummary.class.getClassLoader().getResource("1.txt");
		
		InputStream in = PathSummary.class.getClassLoader().getResourceAsStream("2.jpg");
		
		InputStream in2 = getServletContext().getResourceAsStream("WEB-INF/classes/2.jpg");
		//少用;
//		PathSummary.class.getResource("/1.txt");
		}

7 JSP

7.1 jsp的由来

Servlet对页面的美化是不擅长的

  • SUN公司为了解决这个问题,就参考了asp的语法,弄出了jsp的技术规范
  • asp、jsp、php
  • jsp:html代码(html、css、js)和java代码

1.What is JSP
JSP( JavaServer Pages )是由Sun 公司倡导、许多别的公司参与一起建立的一种新动态网页
技术标准,类似其他技术标准,如ASP、PHP 或是ColdFusion,等等。
在传统的网页HTML 文件( .htm,.html )中加入Java程序片段( Scriptlet )和JSP标签,构成了JSP 网页(*.jsp)。Servlet/JSP Container 收到客户端发出的请求时,首先执行其中的程序片段,然后将执行结果以HTML格式响应给客户端。其中程序片段可以是:操作数据库、重新定向网页以及发送 E-Mail 等等,这些都是建立动态网站所需要的功能。所有程序操作都在服务器端执行,网络上传送给客户端的仅是得到的结果,与客户端的浏览器无关,因此,JSP 称为Server-SideLanguage。

2.Microsoft 和 Sun 都提供它们各自品牌的服务器页面。Sun提供JavaServer Pages (JSP)而 Microsoft 提供 Active Server Pages(ASP)。JSP 和 ASP 都设计成使开发者能够从后端系统产生动态页面。
虽然表面看起来相似,ASP 和JSP仍有一些不同之处:
JSP 是平台独立性的,一次编写,随处运行;
开发者通过Java Community Process(JCP)指引方向;
JSP 开发者可以通过定制标签扩展JSP标签库;
JavaBeans 和 Enterprise JavaBeans (EJB) 可以和JSP一起使用,增强可重用性和减小维护。
JSP 可以存取其他一些Java 库,包括Java 数据库连接(JDBC),Java Mail,Java Message
Service(JMS),以及JNDI。
JSP 编译成二进制类文件,不需要在每次请求时进行解释;
JSP 有广泛的支持,包括工具,容器和服务器。

7.2 JSP介绍

Jsp 本质上就是 serlvet , jsp 在 第一次被访问的时候, 会被 编译生成一个serlvet类, 然后 再编译生成 一个.class文件, 然后由 jvm 加载运行。
问题1.为什么是jsp 本质上就是serlvet:
查看 work 目录下 , 找到了 jsp 对应 的 被翻译成 serlvet类, 打开后发现
这里写图片描述
这里写图片描述
所以 jsp 本质上就是 servlet …
结论 : 访问JSP实际上就是访问 serlvet . …
Jsp 比 servlet 要来的更加方便. (jsp 访问 不需要 配置 对外访问路径, 直接访问就好 … )

Jsp的翻译过程详解:
这里写图片描述
JSP 的执行过程:
(1) 客户端发出Request (请求);
(2) JSP Container 将JSP 翻译成Servlet 的源代码;
(3) 将产生的Servlet 的源代码经过编译后,加载到内存执行;
(4) 把结果Response (响应)发送至客户端。
JSP和Servlet的执行效率相差不大

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值