jsp转换成html_JSP学习1

JSP(Java Server Pages)是一种动态web技术,它的特点是能够像写HTML一样编写页面,但能插入Java代码以提供动态数据。JSP在服务器内部会被转换成Servlet执行。在Tomcat的工作目录下,JSP页面会被编译成Java类。尽管从浏览器角度来看是在访问静态资源,实际上每个请求都在执行Servlet。JSP内置了一些对象,可以直接在页面中使用,而且Java代码会原封不动地输出,而HTML则会被转换处理。
摘要由CSDN通过智能技术生成

JSP

什么是JSP

JSP: Java Server Pages是Java服务器端的页面, 和Servlet一样, 用于动态web技术

最大的特点:

  • 写JSP就像在写HTML
  • 区别:
  • HTML只给用户提供静态数据
  • JSP页面中可以嵌入Java代码, 为哟用户提供动态数据

JSP原理

思路: JSP是如何执行的

  • 代码层面没有问题
  • 服务器内部工作

toncat中有一个work目录;

IDEA中使用Tomcat的会在IDEA中产生一个work目录

浏览器向服务器发送请求, 不管访问什么资源, 其实都是在访问Servlet!

JSP最终也会被转换成一个Java类!

JSP本质上就是一个Servlet

//JSPService
    @Override
    public void _jspService(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse){

    }

//初始化
    @Override
    public void jspInit() {

    }

//销毁
    @Override
    public void jspDestroy() {

    }
  1. 判断请求
  2. 内置一些对象
final javax.servlet.jsp.PageContext pageContext; //页面上下文
javax.servlet.http.HttpSession session = null;   //session
final javax.servlet.ServletContext application;  //applicationContext
final javax.servlet.ServletConfig config;        //config
javax.servlet.jsp.JspWriter out = null;          //out
final java.lang.Object page = this;              //page;当前
HttpServletRequest request                       //请求
HttpServletResponse response                     //响应

3. 输出页面前增加的代码

response.setContentType("text/html"); //设置响应的页面类型
pageContext = _jspxFactory.getPageContext(this, request, response, null, true, 8192, true);
_jspx_page_context = pageContext;
application = pageContext.getServletContext();
config = pageContext.getServletConfig();
session = pageContext.getSession();
out = pageContext.getOut();
_jspx_out = out;

4. 以上的这些对象我们可以在JSP页面中直接使用!

eeddaa881c8e192c517a6eaa29ab04e4.png

在JSP页面中, 只要是Java代码就会原封不动的输出:

只要是HTML代码就会转换成类似:

out.write("<h1>title<h1>rn")

例子:hello.jsp

<%--
  Created by IntelliJ IDEA.
  User: asus
  Date: 2020/6/6
  Time: 23:11
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>

<%
    String name = "Bo Peng";
%>

name:<%=name%>

</body>
</html>
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值