zoukankan      html  css  js  c++  java
  • Java Servlet

    Jsp回顾:

      Jsp页面运行原理:当一个用户请求一个JSP页面时,Tomcat服务器自动生成Java文件,编译Java文件,并用编译得到的字节码文件在服务器端创建一个对象来响应用户的请求。JSP的根基是Java Servlet技术

      1 /*
      2  * Generated by the Jasper component of Apache Tomcat
      3  * Version: Apache Tomcat/8.5.46
      4  * Generated at: 2019-10-15 08:56:20 UTC
      5  * Note: The last modified time of this file was set to
      6  *       the last modified time of the source file after
      7  *       generation to assist with modification tracking.
      8  */
      9 package org.apache.jsp;
     10 
     11 import javax.servlet.*;
     12 import javax.servlet.http.*;
     13 import javax.servlet.jsp.*;
     14 
     15 public final class index_jsp extends org.apache.jasper.runtime.HttpJspBase
     16     implements org.apache.jasper.runtime.JspSourceDependent,
     17                  org.apache.jasper.runtime.JspSourceImports {
     18 
     19   private static final javax.servlet.jsp.JspFactory _jspxFactory =
     20           javax.servlet.jsp.JspFactory.getDefaultFactory();
     21 
     22   private static java.util.Map<java.lang.String,java.lang.Long> _jspx_dependants;
     23 
     24   private static final java.util.Set<java.lang.String> _jspx_imports_packages;
     25 
     26   private static final java.util.Set<java.lang.String> _jspx_imports_classes;
     27 
     28   static {
     29     _jspx_imports_packages = new java.util.HashSet<>();
     30     _jspx_imports_packages.add("javax.servlet");
     31     _jspx_imports_packages.add("javax.servlet.http");
     32     _jspx_imports_packages.add("javax.servlet.jsp");
     33     _jspx_imports_classes = null;
     34   }
     35 
     36   private volatile javax.el.ExpressionFactory _el_expressionfactory;
     37   private volatile org.apache.tomcat.InstanceManager _jsp_instancemanager;
     38 
     39   public java.util.Map<java.lang.String,java.lang.Long> getDependants() {
     40     return _jspx_dependants;
     41   }
     42 
     43   public java.util.Set<java.lang.String> getPackageImports() {
     44     return _jspx_imports_packages;
     45   }
     46 
     47   public java.util.Set<java.lang.String> getClassImports() {
     48     return _jspx_imports_classes;
     49   }
     50 
     51   public javax.el.ExpressionFactory _jsp_getExpressionFactory() {
     52     if (_el_expressionfactory == null) {
     53       synchronized (this) {
     54         if (_el_expressionfactory == null) {
     55           _el_expressionfactory = _jspxFactory.getJspApplicationContext(getServletConfig().getServletContext()).getExpressionFactory();
     56         }
     57       }
     58     }
     59     return _el_expressionfactory;
     60   }
     61 
     62   public org.apache.tomcat.InstanceManager _jsp_getInstanceManager() {
     63     if (_jsp_instancemanager == null) {
     64       synchronized (this) {
     65         if (_jsp_instancemanager == null) {
     66           _jsp_instancemanager = org.apache.jasper.runtime.InstanceManagerFactory.getInstanceManager(getServletConfig());
     67         }
     68       }
     69     }
     70     return _jsp_instancemanager;
     71   }
     72 
     73   public void _jspInit() {
     74   }
     75 
     76   public void _jspDestroy() {
     77   }
     78 
     79   public void _jspService(final javax.servlet.http.HttpServletRequest request, final javax.servlet.http.HttpServletResponse response)
     80       throws java.io.IOException, javax.servlet.ServletException {
     81 
     82     final java.lang.String _jspx_method = request.getMethod();
     83     if (!"GET".equals(_jspx_method) && !"POST".equals(_jspx_method) && !"HEAD".equals(_jspx_method) && !javax.servlet.DispatcherType.ERROR.equals(request.getDispatcherType())) {
     84       response.sendError(HttpServletResponse.SC_METHOD_NOT_ALLOWED, "JSPs only permit GET POST or HEAD");
     85       return;
     86     }
     87 
     88     final javax.servlet.jsp.PageContext pageContext;
     89     javax.servlet.http.HttpSession session = null;
     90     final javax.servlet.ServletContext application;
     91     final javax.servlet.ServletConfig config;
     92     javax.servlet.jsp.JspWriter out = null;
     93     final java.lang.Object page = this;
     94     javax.servlet.jsp.JspWriter _jspx_out = null;
     95     javax.servlet.jsp.PageContext _jspx_page_context = null;
     96 
     97 
     98     try {
     99       response.setContentType("text/html");
    100       pageContext = _jspxFactory.getPageContext(this, request, response,
    101                   null, true, 8192, true);
    102       _jspx_page_context = pageContext;
    103       application = pageContext.getServletContext();
    104       config = pageContext.getServletConfig();
    105       session = pageContext.getSession();
    106       out = pageContext.getOut();
    107       _jspx_out = out;
    108 
    109       out.write("This is JSP test");
    110     } catch (java.lang.Throwable t) {
    111       if (!(t instanceof javax.servlet.jsp.SkipPageException)){
    112         out = _jspx_out;
    113         if (out != null && out.getBufferSize() != 0)
    114           try {
    115             if (response.isCommitted()) {
    116               out.flush();
    117             } else {
    118               out.clearBuffer();
    119             }
    120           } catch (java.io.IOException e) {}
    121         if (_jspx_page_context != null) _jspx_page_context.handlePageException(t);
    122         else throw new ServletException(t);
    123       }
    124     } finally {
    125       _jspxFactory.releasePageContext(_jspx_page_context);
    126     }
    127   }
    128 }
    index_jsp.java

     Servlet

      Java Servlet核心思想是在服务器端创建能够相应用户请求的对象,即创建servlet对象。

      1.编写Servlet类

          创建servlet对象的类就是编写一个特殊类的子类,这个特殊的类就是  javax.servlet.http 类。HttpServlet类实现了Servlet的接口,实现了响应 用户的方法。

          

     1 package com.alex;
     2 import java.io.IOException;
     3 import java.io.PrintWriter;
     4 import javax.servlet.ServletException;
     5 import javax.servlet.annotation.WebServlet;
     6 import javax.servlet.http.HttpServlet;
     7 import javax.servlet.http.HttpServletRequest;
     8 import javax.servlet.http.HttpServletResponse;
     9 
    10 @WebServlet("/hello")
    11 public class Hello extends HttpServlet {
    12     @Override
    13     protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    14          resp.setContentType("text/html;charset = utf-8");
    15          PrintWriter out =resp.getWriter();
    16          out.println("<html><body>");
    17          out.println("<h2>更改This is Servlet</h2>");
    18          out.println("</body></html>");
    19     }
    20 }
    Hello.java

    2.Servlet对象的工作原理

          Servlet对象由Tomcat服务器负责管理,Tomcat服务器通过读取web.xml创建并运行servlet对象

    3.Jsp页面访问servlet

      1.   通过表单向servlet提交数据 
      2.   链接
      3.   doGet和doGet方法
      4.   重定向与转发

        Session

            

               

      

  • 相关阅读:
    管理页面的类 PageHelper
    接下来打算写一下visual stuido 2013使用git进行远端管理。
    转一下网上找来的tortoise git不用每次都输入邮箱和密码的方法。备查看
    tortoise git使用 git版本库的rsa key来进行ssh连接
    2015年4月1日 14:36:56 EF 主从表更新
    Oop分析方法
    Knative 实战:基于 Knative Serverless 技术实现天气服务-下篇
    超大规模商用 K8s 场景下,阿里巴巴如何动态解决容器资源的按需分配问题?
    从零开始入门 K8s | 可观测性:你的应用健康吗?
    Knative 暂时不会捐给任何基金会 | 云原生生态周报 Vol. 22
  • 原文地址:https://www.cnblogs.com/alex-gc/p/11678822.html
Copyright © 2011-2022 走看看