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

            

               

      

  • 相关阅读:
    codevs 2632 非常好友
    codevs 1213 解的个数
    codevs 2751 军训分批
    codevs 1519 过路费
    codevs 1503 愚蠢的宠物
    codevs 2639 约会计划
    codevs 3369 膜拜
    codevs 3135 River Hopscotch
    数论模板
    JXOJ 9.7 NOIP 放松模拟赛 总结
  • 原文地址:https://www.cnblogs.com/alex-gc/p/11678822.html
Copyright © 2011-2022 走看看