精华内容
下载资源
问答
  • JSP页面请求处理过程

    千次阅读 2016-09-29 16:55:58
    浏览器首先要请求一个以.jsp扩展名结尾的页面,发起JSP请求,然后,Web服务器读取这个请求,使用JSP编译器把JSP页面转化成一个Servlet类。需要注意的是,只有当第一次请求页面或者是JSP文件发生改变的时候JSP文件才...

    浏览器首先要请求一个以.jsp扩展名结尾的页面,发起JSP请求,然后,Web服务器读取这个请求,使用JSP编译器把JSP页面转化成一个Servlet类。需要注意的是,只有当第一次请求页面或者是JSP文件发生改变的时候JSP文件才会被编译,然后服务器调用servlet类,处理浏览器的请求。一旦请求执行结束,servlet会把响应发送给客户端。

    这里写图片描述

    展开全文
  • tomcat访问Jsp的执行过程

    千次阅读 2018-02-26 19:58:04
    tomcat访问Jsp的执行过程: 这篇博文将就一下几方面进行论述(如有误,请留言指出) 1.jsp项目部署到Tomcat的过程 2.网页访问项目中jsp页面和servlet的过程  一、jsp项目部署到Tomcat     图一 (部署在...

    tomcat访问Jsp的执行过程:

    这篇博文将就一下几方面进行论述(如有误,请留言指出)

    1.jsp项目部署到Tomcat的过程

    2.网页访问项目中jsp页面和servlet的过程

     一、jsp项目部署到Tomcat 

                

                   图一 (部署在Tomcat下的项目)                                                   

                 图二(项目的源文件)

      我们可以看到图一和图二的对比

         java web 和 jsp 项目中的所有文件都可以划分成两类,分别为 静态资源和动态资源。静态资源一般为存放在WebRoot下的图片、网页、样式等资源;动态资源为非WebRoot下的java文件(如 src文件加下的java文件)。

          当项目部署到Tomcat下时,静态文件如图一所示--直接复制;动态文件(java文件)会由myeclipse或者eclipse本身提供的功能将其进行编译,然后在存放到WEB-INF的classes文件夹下,令所有的java文件均以.class形式存在。

          但是如图二中的res/test.txt该如何处理?如图三所示,将其直接复制到classes文件夹下。

         

                                       图三

       总结:jsp项目的部署规则如下:

          1.  WebRoot下的所有资源全部复制到tomcat对应项目

          2.  WebRoot外的资源文件夹中的动态资源,即java文件,进行编译,在将编译后的class文件存放到tomcat项目中的WEB-INF下的classes文件夹下

          3.  WebRoot外的资源文件夹下的静态资源(如 res下的test.txt文件),直接将其复制到WEB-INF的classes文件夹下。

     

     二、网页访问项目中jsp页面和servlet的过程

          1.论jsp和servlet的关系

          其实在开发过程中并没有jsp的存在,html代码都必须在servlet的内置对象out中书写。因此每个以servlet形式存在的页面都必须要在xml文件中配置,进而延长了开发周期,jsp的出现较好的解决了这一问题。每个jsp页面实质上都是一个servlet,tomcat本身会把jsp页面对应的url映射到某个特定的xml文件中,而非项目中WEB-INF下的web.xml文件。

       

                                        图四

         项目中的index.jsp页面编译后形成的两个文件,如图四所示。

     

         2.网页请求过程

          当在地址栏输入我们要访问的jsp页面时,该请求会和tomcat下那个特定的用来映射jsp页面和url信息的xml文件(不是WEB-INF下的web.xml文件)进行匹配。匹配成功后进行相应的跳转。

         当在地址栏输入我们要访问的serlvet时,该请求和WEB-INF下的web.xml文件进行匹配。匹配成功后,进行相应的跳转。

     

    忘记从哪里转载了,果断时间再消化这块儿。

     

     

     

    展开全文
  • 访问jsp页面的执行过程

    千次阅读 2017-06-16 11:28:53
    JSP页面执行过程 JSP页面其实是一个Servlet。JSP 页面是在JSP容器中运行的。Servlet 容器一般也是JSP 容器。例如, Tomcat 就是一个Servlet/JSP 容器。 第一次请求一个JSP页面时,Servlet/JSP 容器要做两件事情: ...

    JSP页面执行过程

    JSP页面其实是一个Servlet。JSP 页面是在JSP容器中运行的。Servlet 容器一般也是JSP 容器。例如, Tomcat 就是一个Servlet/JSP 容器。

    第一次请求一个JSP页面时,Servlet/JSP 容器要做两件事情:

    1. 将JSP 页面转换成一个JSP页面实现类,这是一个实现javax.servlet.jsp.JspPage接口或其子接口javax.servlet.jsp.HttpjspPage 的Java类。JspPage是javax.servlet.Servlet的子接口,这样会使每个JSP 页面都成为一个Servlet. 所生成Servlet 的类名取决于Servlet/JSP 容器。这一点不必操心,因为不需要你直接处理。如果有转换错误,错误消息将会发送到客户端。

    2. 如果转换成功, Servlet/JSP 容器将会编译Servlet 类。之后,容器加载和实例化Java字节码,并执行它通常对Servlet 所做的生命周期操作。

    对于同一个JSP 页面的后续请求, Servlet/JSP 容器会查看这个JSP页面自从最后一次转换以来是否修改过。如果修改过,就会重新转换、重新编译,并执行。如果没有,则执行内存中已经存在的JSP Servlet 。这样,第一次调用JSP 页面的时间总是会比后续请求的更长,因为它需要转换和编译。为了解决这个问题,可以采取以下任意一种措施:

    配置应用程序,以便在应用程序启动之时,调用所有的JSP 页面(实际上是指转换和编译) , 而不是在初始请求时才调用。

    预先编译JSP页面,并将它们以Servlet 的方式进行部署。

     

    Servlet与JSP生命周期对比

     

    Servlet的生命周期:

    1)构造方法(第1次访问)

    2)init方法(第1次访问)

    3)service方法

    4)destroy方法          

    Jsp的生命周期

    1)翻译: jsp->java文件

    2)编译: java文件->class文件(servlet程序)

    3)构造方法(第1次访问)

    4)init方法(第1次访问):_jspInit()

    5)service方法:_jspService()

    6)destroy方法:_jspDestroy()

    Jsp的最佳实践

    Servlet技术: 开发动态资源。是一个java类,最擅长写java代码

    jsp技术: 开发动态资源。(通过java代码)最擅长输出html代码。

     

    各取所长:

    在web项目中涉及到逻辑:

    1)接收参数      servlet做

    2)处理业务逻辑,返回结果    servlet做

    3)显示数据到浏览器      jsp做

    4)跳转到其他页面        servlet做

     

    servlet+jsp模式

    servlet:

                1)接收参数

                2)处理业务逻辑

                3)把结果保存到域对象中

                4)跳转到jsp页面

    Jsp:

                1)从域对象取出数据

                2)把数据显示到浏览器

     

    servlet的数据      jsp页面

    List<Contact>    使用域对象 共享数据

     

    展开全文
  • Jsp页面请求-Servlet返回结果

    万次阅读 2018-11-16 13:14:16
    jsp页面通过表单的方式提交请求,并传进后台参数,servlet接收请求再返回页面显示。 1.jsp页面代码: &lt;%@ page language="java" contentType="text/html; charset=utf-8" ...

    jsp页面通过表单的方式提交请求,并传进后台参数,servlet接收请求再返回页面显示。

    1.jsp页面代码:

    <%@ page language="java" contentType="text/html; charset=utf-8"  pageEncoding="utf-8" import="com.service.entity.*,java.util.*"%>  
    <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>  
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>学生信息</title>
    </head>
    <body>
    <style type="text/css">
    table.dataintable {
    	margin-top:15px;
    	border-collapse:collapse;
    	border:1px solid #aaa;
    	width:100%;
    	}
    
    table.dataintable th {
    	vertical-align:baseline;
    	padding:5px 15px 5px 6px;
    	background-color:#3F3F3F;
    	border:1px solid #3F3F3F;
    	text-align:left;
    	color:#fff;
    	}
    
    table.dataintable td {
    	vertical-align:text-top;
    	padding:6px 15px 6px 6px;
    	border:1px solid #aaa;
    	}
    
    table.dataintable tr:nth-child(odd) {
    	background-color:#F5F5F5;
    }
    
    table.dataintable tr:nth-child(even) {
    	background-color:#fff;
    }
    </style>
    <form action ="StudentServlet" method="get">
    输入姓名:<input type="text" name="name"/>
    <input type="submit" value="查询" />
    </form>
    &nbsp;
    &nbsp;</div>
    <table class="dataintable">
    <tr>
      <th>姓名</th>
      <th>语文</th>
      <th>数学</th>
      <th>英语</th>
    </tr>
    
    <c:forEach items="${list}" var="stu">  
        <tr>  
            <td><b>${stu.getName()}</b></td>  	
    		<td>${stu.getChinese()}</td>  
            <td>${stu.getMath()}</td>   
        	<td>${stu.getEnglish()}</td>  
        </tr>  
    </c:forEach> 
    </body>
    </html>

    首先编码都是utf-8,所以开头需要修改:

    <%@ page language="java" contentType="text/html; charset=utf-8"  pageEncoding="utf-8" import="com.service.entity.*,java.util.*"%>  

    import="com.service.entity.*,java.util.*是引入了Java包,来访问对象的成员变量。

    <c:forEach items="${list}" var="stu">  
        <tr>  
            <td><b>${stu.getName()}</b></td>      
            <td>${stu.getChinese()}</td>  
            <td>${stu.getMath()}</td>   
            <td>${stu.getEnglish()}</td>  
        </tr>  
    </c:forEach> 
    然后jsp引入了c:forEach,所以需要加:

    <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>  

    加了之后需要引入两个jar包,可以去下载jstl.jar+standard.jar两个包

    2.Java Servlet代码

    package com.service.servlet;
    
    import java.io.IOException;
    import java.io.PrintWriter;
    import java.util.List;
    import javax.servlet.annotation.WebServlet;
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    import com.service.StudentService;
    @WebServlet("/StudentServlet")
    public class StudentServlet extends HttpServlet{
    	 private static final long serialVersionUID = 1L;  
    	    
    	    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {  
    	        // TODO Auto-generated method stub 
    	    	// 处理响应数据的格式和编码,通知浏览器数据的显示方式
    	     response.setCharacterEncoding("utf-8");
    	     response.setContentType("text/html;charset=utf-8");
    	     PrintWriter pw = response.getWriter();  
             pw.println("doGet!"); 
             System.out.println ("doGet1");  
             String Name=request.getParameter("name");   
             StudentService ws = new StudentService();
    	     List list =  ws.GetStudentInfo(Name); 
    	     request.setAttribute("list",list);  
    	     request.getRequestDispatcher("/student.jsp").forward(request, response);  
    	    }  
    
    	    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {  
    	        // TODO Auto-generated method stub  
    	    }  
    
    
    }
    

    首先@WebServlet("/StudentServlet")是web.xml配置的servlet名

    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
      <servlet>
            <servlet-name>StudentServlet</servlet-name>
            <servlet-class>com.service.servlet.StudentServlet</servlet-class>
        </servlet>
        <servlet-mapping>
            <servlet-name>StudentServlet</servlet-name>
            <url-pattern>/service</url-pattern>
        </servlet-mapping>
    </web-app>

    和jsp文件里:

    这三个地方的这个名字是一一对应的,不能写错。

    还有就是,传进来的参数:

    这就整个请求->接收请求->处理请求->返回的过程。

    最后结果展示:

    展开全文
  • JSP页面在被访问的时候的执行过程

    万次阅读 2016-12-01 18:14:21
    当客户端浏览器向服务器发出访问一个JSP页面的请求时,服务器根据该请求加载相应的JSP页面,并对该页面进行编译,然后执行。JSP页面的执行过程如下图所示: 客户端通过浏览器向服务器发出请求,在该请求中...
  • jsp编译、执行过程

    万次阅读 2016-02-27 14:14:47
    一、jsp执行过程图解用户访问jsp页面时,jsp的处理过程如下图所示: 二、预处理阶段客户第一次请求jsp页面时,jsp引擎会预处理jsp文件中的脚本代码(HTML)和代码片段(java代码)全部转换为java代码,转换过程非常直观...
  • HTTP请求的完全过程

    万次阅读 多人点赞 2019-05-27 11:22:45
    HTTP请求的完全过程 1.1 浏览器根据域名解析IP地址 浏览器根据访问的域名找到其IP地址。DNS查找过程如下: 浏览器缓存:首先搜索浏览器自身的DNS缓存(缓存的时间比较短,大概只有1分钟,且只能容纳1000条缓存)...
  • 图解JSP运行原理和过程

    万次阅读 2016-05-13 10:36:05
    WEB容器JSP页面的访问请求时,它将把该访问请求交给JSP引擎去处理。Tomcat中的JSP引擎就是一个Servlet程序,它负责解释和执行JSP页面。 每个JSP页面在第一次被访问时,JSP引擎先将它翻译成一个Servlet源程序,接着再...
  • 建立一个完美的数据库访问是一个具有挑战的过程,而JDBC接口能够很好地完成这一过程。然而,嵌入于JSP代码中的JDBC代码,与SQL命令嵌入在JDBC一样,可以充分利用JSP的功能,为客户端建立一个整洁而简便的API。为了...
  • Tomcat处理HTTP请求过程分析

    千次阅读 2018-12-14 14:43:02
    Tomcat处理HTTP请求过程分析 一、Tomcat是什么? Tomcat是一个web应用服务器,是一个Servlet/Jsp容器,主要负责将客户端请求传递给对应的Servlet,并且将Servlet的响应数据返回给客户端。 Tomcat是基于组件的...
  • JSP客户端请求和服务器响应知识点

    千次阅读 热门讨论 2018-08-18 20:19:01
    当浏览器请求一个网页时,它会向网络服务器发送一系列不能被直接读取的信息,因为这些信息是作为HTTP信息头的一部分来传送的。接下来学习一些浏览器端信息头的重要内容,在以后的网络编程中将会经常见到这些信息: ...
  • 关于springmvc框架的web工程,从.xml到.java再到.jsp显示到网页上的过程,以及jsp静态文件的访问
  • SpringMVC如何访问JSP

    万次阅读 2017-06-30 18:01:37
    最近有些小伙伴问我:“星哥,在springmvc中怎么访问jsp,该怎么配置?”,这里笔者写下这篇博客详细的讲解下配置过程。 2.实现步骤 ① 在spring-web中配置视图解析器 :配置JSP 显示ViewResolver--> class="org....
  • JSP 页面访问用户验证

    万次阅读 热门讨论 2012-09-29 16:16:51
    jsp安全性问题,当别人知道某个jsp文件的网址后就可以跳过登陆页面直接访问jsp文件了,这样无法禁止外部无权限用户的访问。本文讨论内容是通过权限验证的用户,才可以访问特定的页面。JSP 页面验证,涉及到的知识...
  • Jsp的处理过程

    千次阅读 2012-08-29 16:29:22
    2.服务器根据接收到的客户端得请求来加载被请求JSP文件。 3.Web服务器中的JSP引擎会将被加载的JSP文件转化为Servlet. 4.JSP引擎将生成的Servlet代码编译成Class文件。 5.服务器执行这个Class文件。 6.最后...
  • JSP文件的运行过程

    千次阅读 2018-10-30 10:23:11
    1)当一个jsp文件第一次被访问时,jsp引擎会将其转译为Java源文件(Servlet),在转译过程中如果发现jsp有任何语法错误,转译将中断,并向客户端和服务端输出错误信息。 注:这个jsp引擎本身也是一个Servlet。 2)...
  • JSP的执行过程\JSP的隐式对象

    千次阅读 2011-10-31 21:38:26
    一、JSP的执行过程 JSP的执行过程主要可以分为以下几点: 1、客户端发出请求。 2、Web容器将JSP转译成Servlet源代码。 3、Web容器将产生的源代码进行编译。 4、Web容器加载编译后的代码并执行。 5、把执行结果...
  • jsp中http请求详解

    千次阅读 2012-05-23 16:58:17
    Servlet获得Http请求 Http请求信息格式 ...请求头 Host:IP地址:端口号 User-Agent:用户网页浏览器类型 Accept:请求提交的文件包含类型 Keep-Alive:保持连接时间 空行(空格) 消息体 POST提交方
  • JSP页面的执行过程

    千次阅读 2017-08-06 21:35:01
    当客户端浏览器,向服务器发出访问一个JSP页面的请求时,服务器根据该请求加载相应的JSP页面,并对该页面进行编译,然后执行执行过程1、客户端通过浏览器,向服务器发出请求,在该请求中包含了请求的资源和路径,...
  • JSP的原理、JSP的执行过程

    千次阅读 2018-07-31 15:12:14
    Jsp的本质是servlet, 通过response的printWriter返回,response的getOutputStream只能调用一次,返回流就不能返回页面刷新。 JSP起源 在很多动态网页中,绝大部分内容都是固定不变的,只有局部内容需要动态产生和...
  • http请求过程

    千次阅读 2016-03-03 16:38:40
    计算机专家设计出HTTP,使HTTP客户(如Web浏览器)能够从HTTP服务器(Web服务器)请求信息和服务,HTTP目前协议的版本是1.1.HTTP是一种无状态的协议,无状态是指Web浏览器和Web服务器之间不需要建立持久的连接,这意味...
  • jsp运行过程及原理

    千次阅读 2018-08-09 08:50:10
    jsp请求响应流程图 流程总结: 第一步:访问jsp文件,客户端发出请求 第二步:jsp容器接收到请求,并将jsp文件转换成servlet类文件并编译执行, 第三步:jsp容器返回响应结果。  ...
  • JSP的 页面访问执行流程

    千次阅读 2019-05-28 01:51:43
    一个JSP页面有多个客户访问,下面是第一个客户访问JSP页面时候,JSP页面的执行流程: 1,客户通过浏览器向服务器端的JSP页面发送请求 2,JSP引擎检查JSP文件对应的Servlet源代码是否存在,若不存在转向第4步,否则...
  • 在web.xml中,我们配置了一个Servlet,这个Servlet会拦截所有请求,但是不会拦截xxx.jsp请求,它会让xxx.jsp正确被返回。 <servlet-name>SpringMVC <servlet-class>org.springframework.web.servlet....
  • JSP执行过程详解

    千次阅读 2018-02-01 10:03:48
    复习JSP的概念 JSP是Java Server Page的缩写,在传统的HTML页面中加入JSP标签和java的程序片段就构成了JSPJSP的基本语法:两种注释类型、三个脚本元素、三个元素指令、八个动作指令。 JSP的内置对象常用...
  • 当客户端浏览器向服务器发出请求访问一个JSP页面后,服务器根据该请求加载相应的JSP页面,并对该页面进行编 译,然户执行。JSP工作的具体流程如下: (1)客户端通过浏览器向服务器发出请求,在该请求中包含了...
  • 通过JSP页面访问Servlet

    千次阅读 2018-03-25 14:27:03
    我们可以通过JSP页面的表单或者超链接请求某个servlet。通过JSP页面访问servlet的好处是JSP页面负责页面的静态信息处理,动态信息处理有Servlet完成。1.通过表单访问servlet&lt;form action 访问="islogin&...
  • JSP

    万次阅读 多人点赞 2017-04-10 14:50:42
    jsp简介 JSP(Java Server Pages)是... jsp: 作为请求发起页面,例如显示表单、超链接。 : 作为请求结束页面,例如显示数据。 Servlet: 作为请求中处理数据的环节。 jsp的组成 jsp = html + java脚本 + js
  • jsp页面向servlet发送请求的数据data参数的写法,servlet返回给jsp页面的json对象的格式有特定的要求,在实际的开发过程中,必须十分注意json对象的格式,具体见下图实例: json对象的格式必须为{"xxx...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 111,773
精华内容 44,709
关键字:

jsp访问的请求过程