• JSP


    什么是JSP

    Java Server Pages : Java服务器端页面,也和Servlet一样,用于动态Web技术
    最大的特点:

      写JSP就像在写HTML

      区别:

        HTML只给用户提供静态的数据

        JSP页面中可以嵌入JAVA代码,为用户提供动态数据;

    JSP原理

    思路:JSP到底怎么执行的

      `代码层面没有任何问题

      `服务器内部工作

       tomcat中有一个work目录;

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

      

     这个文件是启动tomcat动态生成,tomcat启动产生四条输出,第一条就是这个文件

    我电脑的位置

    C:\Users\L\.IntelliJIdea2018.3\system\tomcat\Unnamed_javaweb-session-cookie\work\Catalina\localhost\ROOT\org\apache\jsp

    发现页面转变成了Java程序

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

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

    JSP本质上就是一个Servlet

    // 初始化
    public void _jspInit() { } //销毁 public void _jspDestroy() { } //JSPService public void _jspService(final javax.servlet.http.HttpServletRequest request, final javax.servlet.http.HttpServletResponse response) throws java.io.IOException, javax.servlet.ServletException {

    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;      //当前页
      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页面中直接使用!

    相当于我们自己创建了一个继承了httpservlet  的实现类,然后在里面把所有方法的类都new了一个

    Java代码要在<% %>中写

    动态是更具不同的用户访问返回不同的内容 指可以从数据库等地方拿出不同的数据

    在]SP页面中;

     只要是JAVA代码就会原封不动的输出;

     如果是HTML代码,就会被转换为:

     out.write("<html>\r\n");

    这样的格式,输出到前端

  • 相关阅读:
    Oracle Data Provider for .NET now on NuGet
    Entity Framework6 with Oracle(可实现code first)
    $.each()方法详解
    5次Shift会触发粘滞键的妙用(转)
    明知道员工不喜欢干一件事,干不好一件事,你还一定要他去干,犯贱就贱在和员工讲道理争输赢,有意思吗?人尽其才,物尽其用(转)
    ssh连接失败,排错经验(转)
    如何对 GIT 分支进行规划? (转)
    海外优秀资源清单(转)
    iOS中block实现的探究
    JNDI数据源配置注意事项
  • 原文地址:https://www.cnblogs.com/nuliyao123/p/14438501.html
Copyright © 2020-2023  润新知