天天看点

Java学习心得-Week13

这周主要学习JSP

JSP全称Java Server Page,直译就是“运行在服务器端的页面”。上面已经介绍过,我们可以直接在JSP文件里写HTML代码,使用上把它当做HTML文件。而且JSP中HTML/CSS/JS等的写法和HTML文件中的写法是一模一样的。但它毕竟不是HTML,而且本质差了十万八千里。因为我们还可以把Java代码内嵌在JSP页面中,很方便地把动态数据渲染成静态页面。这一点,HTML打死都做不到。

当有人请求JSP时,服务器内部会经历一次动态资源(JSP)到静态资源(HTML)的转化,服务器会自动帮我们把JSP中的HTML片段和数据拼接成静态资源响应给浏览器。也就是说JSP是运行在服务器端,但最终发给客户端的都已经是转换好的HTML静态页面(在响应体里)。

即:JSP = HTML + Java片段(各种标签本质上还是Java片段)

但所谓的“JSP和HTML相似”只是JSP给我们的表面印象。我们还要继续往下挖一挖。实际上,JSP和HTML差远了。JSP本质是一个Java类(Servlet),是在服务器混的,只不过它输出结果是HTML。

Servlet是什么?

  • 一个Java类,运行在Servlet容器中(Tomcat)
  • 负责接收请求
  • 调用Service处理数据
  • 负责响应数据
    Java学习心得-Week13
    JSP处理代码
  • 要么被当成字符串输出(HTML片段)
  • 要么本身就是Java片段
  • 要么会转成Java片段(EL表达式)

JSP做的登录案例,可以综合的练习MVC模式、三层结构和分页查询。