servlet jsp

深入掌握Servlet和JSP技术 本文还有配套的精品资源,点击获取 简介:Servlet和JSP是构建动态Web应用的关键技术,允许开发者创建响应HTTP请求的服务端程序和视图技术。通过学习Servlet的生命周期、JSP的基本概念和元素、以及它们在MVC架构中的协同工作,开发者可以更好地组织和维护Java Web应用。此外,JSP的内置对象、标签库、EL表达式语言,以及Servlet的配置、部署和3.0及... 阅读详情
  • 知识点

1. Servlet

1.1 Response

1. Http中响应消息格式

       *格式:

                     HTTP/1.1 200 OK

                     Content-Type: text/html;charset=UTF-8

                     Content-Length: 101

                     Date: Wed, 06 Jun 2018 07:08:42 GMT

                     (空行)

                     <html>

                       <head>

                         <title>$Title$</title>

                       </head>

                       <body>

                          hello , response

                       </body>

                     </html>

              1) 响应行

                     1. 组成:协议/版本 响应状态码 状态码描述

                     2. 响应状态码:服务器告诉客户端浏览器本次请求和响应的一个状态。

                            1. 状态码都是3位数字

                            2. 分类:

                                   1xx:服务器就收客户端消息,但没有接受完成,等待一段时间后,发送1xx多状态码

                                   2xx:成功。代表:200

                                   3xx:重定向。代表:302(重定向),304(访问缓存)

                                   4xx:客户端错误。

                                          * 代表:

                                                 * 404(请求路径没有对应的资源)

                                                 * 405:请求方式没有对应的doXxx方法

                                   5xx:服务器端错误。代表:500(服务器内部出现异常)

                                  

              2) 响应头:

                     1. 格式:头名称: 值

                     2. 常见的响应头:

                            1. Content-Type:服务器告诉客户端本次响应体数据格式以及编码格式

                            2. Content-disposition:服务器告诉客户端以什么格式打开响应体数据

                                   * 值:

                                          * in-line:默认值,在当前页面内打开

                                          * attachment;filename=xxx:以附件形式打开响应体。文件下载

                     3) 响应空行

                     4) 响应体:传输的数据

2. Response对象

HttpServletResponse继承ServletResponse接口,专门封装HTTP响应消息

3. Response功能

       1) 设置响应行

              1. 格式:HTTP/1.1 200 ok

              2. 设置状态码:setStatus(int sc)

       2) 设置响应头:setHeader(String name, String value)

       3) 设置响应体:

              * 使用步骤:

                     1. 获取输出流

                            * 字符输出流:PrintWriter getWriter()

                            * 字节输出流:ServletOutputStream getOutputStream()

                     2. 使用输出流,将数据输出到客户端浏览器

                            response.getWriter().println(“xxxx”);

       4)设置编码

              response.setContentType("text/html;charset=utf-8");

       5) 简单的重定向方法

              response.sendRedirect("/day15/responseDemo2");

              * 重定向的特点:redirect

                     1. 地址栏发生变化

                     2. 重定向可以访问其他站点(服务器)的资源

                     3. 重定向是两次请求。不能使用request对象来共享数据

              *forward 和  redirect 区别

Forward是服务器内部跳转,两个页面中数据互通,使用同一个request对象,但是地址栏中依然显示第一次请求的url地址,用户感觉不到页面进行了跳转,也只会发送一次请求。

sendRedirect是重定向,两个页面数据不互通,使用的不是同一个request对象,地址栏中显示的是第二个请求的url地址,会发送两次请求

重定向的特点:redirect

       1. 地址栏发生变化

       2. 重定向可以访问其他站点(服务器)的资源

       3. 重定向是两次请求。不能使用request对象来共享数据

转发的特点:forward

       1. 转发地址栏路径不变

       2. 转发只能访问当前服务器下的资源

       3. 转发是一次请求,可以使用request对象来共享数据

演示示例:Response_01

1.2 ServletContext

1. 概念

       代表整个web应用,可以和程序的容器(服务器)来通信

2. 获取

       1. 通过request对象获取        request.getServletContext();   

       2. 通过HttpServlet获取        this.getServletContext();

3. 功能   

       1. 获取MIME类型:       

              * MIME类型:在互联网通信过程中定义的一种文件数据类型

             * 格式: 大类型/小类型   text/html       image/jpeg

        * 获取:String getMimeType(String file)

   

       2. 域对象:共享数据

              1. setAttribute(String name,Object value)

              2. getAttribute(String name)

              3. removeAttribute(String name)

        * ServletContext对象范围:所有用户所有请求的数据

  

       3. 获取文件的真实(服务器)路径       

              1. 方法:String getRealPath(String path)

              String b = context.getRealPath("/b.txt");//web目录下资源访问                              System.out.println(b);               

              String c = context.getRealPath("/WEB-INF/c.txt");//WEB-INF目录下的资源访问                          System.out.println(c);               

              String a = context.getRealPath("/WEB-INF/classes/a.txt");//src目录下的资源访问                          System.out.println(a);

演示示例:ServletContext_01

1.3 HttpServlet底层原理

通过生命周期测试,大家发现,真正的Servlet接口中,并没有doGet()和doPost()方法

那么第一个程序中doGet()/doPost()为什么可以执行?

这个问题就发生在HttpServlet类中

HttpServlet中覆写了Servlet中的方法service()方法,并重载添加了一个service()方法,该方法参数为HttpServletRequest和HttpServletResponse

并在原生service()方法中对重载的方法进行调用,然后在重载的service()方法中,根据请求的方式(get/post)去调用doGet()或doPost()方法

所以就把doGet/doPost加入到了Servlet的生命周期中

在技术手册中也有很明白的解释

所以会有这样一个说法,就是service()方法优先级比doGet()和doPost()优先级高,如果servlet中同时覆写了service/doGet/doPost三个方法,那么只会执行service

额...这个也可以这样说吧,毕竟他们不是优先级的问题,如果我们覆写了service(),那么再多态执行的时候便不会去执行父类的方法,所以也就不会再对doGet/doPost方法进行调用的

那么下面我们就简单模拟一下HttpServlet的实现

演示示例:MyHttpServlet

1.4 初始化数据

我们可以在web.xml中准备servlet需要用到的数据

有两种方式,一种是数据只能让某一个servlet使用,需要通过ServletConfig对象获取

Web.xml设置 :

    <servlet>

       <servlet-name>_07_InitParam</servlet-name>

       <servlet-class>com.tledu.zrz.servlet._07_InitParam</servlet-class>

       <!-- 这种参数,只能让当前这一个Servlet去使用,并且获取方式通过ServletConfig对象 -->

       <init-param>

           <param-name>name</param-name>

           <param-value>张三</param-value>

       </init-param>

</servlet>

Java中获取 :

servletConfig.getInitParameter("name");

另一种是数据可以让所有的serlvet使用,需要通过ServletContext对象获取

Web.xml设置 :

    <context-param>

       <param-name>password</param-name>

       <param-value>root</param-value>

</context-param>

Java中获取 :

servletConfig.getServletContext().getInitParameter("password");

演示示例:_07_InitParam

2. JSP

2.1 jsp解决了什么问题

       Servlet中,要想将数据等内容打印到客户端页面中,需要在java代码中拼接大量的html代码,非常的不合理。

       Jsp就是解决这个问题。只需要把数据交给jsp,由jsp来完成数据的展示工作。

2.2 简介

JSP---Java Server Pages

拥有servlet的特性与优点(本身就是一个servlet)

直接在HTML中内嵌JSP代码

JSP程序由JSP 引擎先将它转换成Servlet代码,接着将它编译成类文件载入执行

只有当客户端第一次请求JSP时,才需要将其转换、编译

优点:

优良的性能
       优于CGI,PHP,ASP

平台无关性
       操作系统无关,Web服务器无关

可扩展性
       tag的扩展机制,简化页面开发

2.3 简单语法

<%! %> 表示servlet的类体

<% %> 表示service()方法体

<%= %> 表示 println(); 用于向页面输出内容

演示示例:_01_Hello.jsp和_02_gbColor.jsp

<%@ pager %> 指令,比如导包,嵌套页面等

常用属性

contentType 设置类型和字符编码

contentType=”text/html;charset=UTF-8”

errorPage 定义错误页面,出错的时候发生跳转

errorPage=”xxxx.jsp”  被跳转的页面需要设置isErrorPage属性

isErrorPage 可以设置true/false,表示此页面是否为错误页面

演示示例:_03_errpage.jsp和_03_errtest.jsp

Import 导包, import=”java.util.*”

Language 定义脚本语言,目前只能用java

pageEncoding 设置字符编码 pageEncoding=”UTF-8”

<%@include file=“fileURL%> 静态包含其他页面,两个页面合并为一个页面,只生成一个class文件

与之类似的还有<jsp:include page=“fileURL” flush="true">  动态包含,两个页面生成两个class , 动态调用

*(flush属性,默认为 false,设置为true时,服务器端会做页面缓冲。服务器在解释jsp文件时是一步一步进行的,默认不做缓冲时,解释生成一句html就会发送给客户端一句,做了缓冲后,会一部分一部分的发送,缩短客户端延迟,避免数据泄露造成错误)

静态包含

演示示例:_04_include.jsp和_04_includetest.jsp

动态包含

演示示例:_05_include.jsp和_05_includetest.jsp

<%@ taglib %>  导入别的扩展包,比如 JSTL

2.4 九大内置对象

       内置对象,在jsp中默认内置好的java对象,可以直接使用。在servlet中,一些对象,需要我们手动创建对象,并不能直接使用,比如说session对象。那在jsp中,如何使用session等对象呢。直接用即可。这也是为什么叫内置对象。

       变量名                               真实类型                                          作用

* pageContext                      PageContext                          当前页面共享数据,还可以获取其他八个内置对象

* request                            HttpServletRequest                    一次请求访问的多个资源(转发)

* session                             HttpSession                               一次会话的多个请求间

* application                       ServletContext                           所有用户间共享数据

* response                                 HttpServletResponse                 响应对象

* page                                       Object                                当前页面(Servlet)的对象this

* out                                         JspWriter                            输出对象,数据输出到页面上

* config                                     ServletConfig                      Servlet的配置对象

* exception                                Throwable                                 异常对象

Out : 内置对象是一个缓冲的输出流,用来给客户端返回信息。它是javax.servlet.jsp.JspWriter的一个实例

用于向页面输出内容

常用方法

println():向客户端输出各种类型数据

newLine():输出一个换行符

jsp的newLine()函数只是在组装html代码的时候对html的源代码进行了换行

close():关闭输出流

out.clear()是直接清空缓冲区数据,不输出到客户端且刷新缓存时抛出异常

out.flush()先输出缓冲区数据再清空

out.clearBuffer() 清空缓冲区,不输出到客户端

*缓冲问题:

分析:如果按没有jsp缓存和servlet缓存的话,输出的结果应该是abc,但是输出的却是bac,为什么呢?按照我们上面所说的原理进行分析,out对象是先将其输出到JSP缓存中,所以a加入了jsp缓存,response.getWriter().print("b")是直接将b输出到servlet缓存中,然后又使用out对象将c输出到jsp缓存,到程序结束,servlet缓存中有b,然后jsp会将缓存中的内容就刷新到servlet缓存中,serlvet就是bac了,然后到浏览器也就得到我们的输出结果了。如果将out.flush()注释去掉,答案就是abc。原因是我们手动的将jsp缓存里面的数据刷新到servlet缓存里面了。

Request :内置对象表示的是调用JSP页面的请求。通常,request对象是javax.servlet.http.HttpServletRequest接口的一个实例

常用方法

getMethod():返回客户端向服务器端传送数据的方法

getParameter(String paramName):返回客户端向服务器端传送的参数值,该参数由paramName指定

getParameterNames():获得客户端传送给服务器端的所有参数的名字,结果是一个枚举类型数据(Enumeration)

getParameterValues(String  name):获得指定参数的所有值,由name指定

getRequestURI():获得发出请求字符串的客户端地址

getRemoteAddr():获取客户端的IP地址

getRemoteHost():获取客户端机器名称

getServerName():获取服务器的名字

getServletName():客户端所请求的脚本文件路径

getServerPort():获取服务器端的端口

getContextPath() 获取当前项目名  /xxx

Response : 表示的是返回给客户端的响应

是javax.servlet.http.HttpServletResponse接口的一个实例

经常用于设置HTTP标题,添加cookie、设置响应内容的类型和状态、发送HTTP 重定向和编码URL

常用方法:

addCookie(Cookie cookie):添加一个Cookie对象,用于在客户端保存特定的信息

addHeader(String name,String value):添加HTTP头信息,该Header信息将发送到客户端

containsHeader(String name):判断指定名字的HTTP文件头是否存在

sendError(int):向客户端发送错误的信息

sendRedirect(String url):重定向JSP文件

和<jsp:forward>的区别

sendRedirect通过客户端发起二次申请,不同的request对象

Jsp:forward是同一个request,在服务器内部转发

setContentType(String contentType):设置MIME类型与编码方式

session和application

<% @page session=“true”%>--表示session功能已经在jsp页面中启动,一次会话

session常用方法:

void setAttribute(String name,Object value)

Object getAttribute(String name)

boolean isNew() 判断是否是新建的session

application

就是ServletContext,全局作用域

Exception : 异常对象,如果有什么异常信息,页面可以使用exception直接获取

config   : ServletConfig  配置对象

pager   : Object  pager =  this , 也是域,代表当前页面有效

可以参考运行jsp之后生成的java文件,在TomCat的work下,所谓内置对象,其实就是在生成的Servlet中service()方法中的局部变量

2.5 jsp实现跳转方式

跳转我们经常用到,不管是页面之间跳转还是页面跳转到java后台,还是在java后台跳转到对应的页面,都经常用到

而跳转方式又被分为两种,Forward和 sendRedirect

Jsp写法

重定向跳转

<%

response.sendRedirect("_06_page.jsp");

后面的代码依旧会执行,和跳转页面用的是同一个request对象

会请求两次,并且地址栏会变成跳转的页面的地址

如果 对页面传值 比如 A.jsp?name=222 在 被跳转页面 request.getParameter 是获取不到数据的

同理  调用request.setAttribute("aa", 11); 方法设置的值,在被跳转页面 依然获取不到

因为 是两次请求,两个request对象,数据不互通

%>

演示示例:_06_page.jsp和_07_sendRedirect.jsp

Forward跳转

<jsp:forward page="/xxx" />

后面代码不会执行,并且和跳转页面不是同一个request对象

只会请求一次,并且地址栏不变

通过地址栏传递值  A.jsp?name=222 在 被跳转页面                request.getParameter 可以获取数据

同理  调用request.setAttribute("aa", 11); 方法设置的值,在被跳转页面 依然能获取到数据

因为 是1次请求,1个request对象,数据互通

演示示例:_06_page.jsp和_08_forward.jsp

总结 : response.sendRedirect 和jsp:forward的区别

1 前者后面代码会执行,后者不会执行

2 前者地址栏会发生变化,显示被跳转页面的路径,后者不变,依旧是请求的页面地址

3 前者是两个request对象,数据不互通,后者是1个对象,数据互通

4 前者需要客户端往返,后者直接在服务器内部跳转

Java写法

sendRedirect :

response.sendRedirect( request.getContextPath() + "/xxx.jsp" );

这里  /  默认定位到 webapps 下,也就是服务器根目录,所需 需要加上项目名进行访问

如果不加 / 就是相对路径,相当于请求的上级

比如 是请求 a/b 到的这个servlet 那么如果直接写 response.sendRedirect("c.jsp" );

就会去找 a/c.jsp

演示示例:_06_page.jsp和_09_sendRedirect.java

运行地址 127.0.0.1:8080/JSP_01/sTj

Forward:

this.getServletConfig().getServletContext()

                     .getRequestDispatcher("/xxx").forward(request, response);

必须加 / ,代表项目根目录(webroot)

并且 跳转后面的代码,会执行,jsp的不会执行,是因为生成servlet的时候,自动加了return,

演示示例:_06_page.jsp和_10_forward.java

运行地址 127.0.0.1:8080/JSP_01/sTjf

jsp+servlet项目 jsp+servlet项目,具体步骤请看:http://blog.youkuaiyun.com/tiandixuanwuliang/article/details/79085954 立即下载

相关推荐

从调节阀到步进电机:图解位置型PID与增量式PID的核心区别

本文深入解析了位置型PID与增量式PID的核心区别。通过调节阀和步进电机的实例,阐明位置式PID输出绝对位置,适用于直接控制执行机构;而增量式PID输出位置变化量,天然支持无扰动切换,更适合步进电机等场景。文章重点剖析了增量式PID在系统安全与平滑切换方面的关键优势。

weixin_29051811的博客 357

Servlet-JSP入门

JSP 作用:主要作用是代替Servlet程序回传html页面的数据。因为Servlet程序回传html页面数据是一件非常繁琐的事情,开发成本和维护成本都很高。 一般的Servlet回传页面如下 protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { resp.setContentType("text/html;charset=U

m0_46656833的博客 265

BFD+OSPF+FRR:构建高可用网络的核心铁三角

摘要:VRRP、OSPF、BFD和FRR协同实现网络高可用。VRRP负责网关冗余,OSPF确保路由可达,BFD提供毫秒级故障检测,FRR实现快速路径切换。故障时,BFD立即检测并通知OSPF,FRR在OSPF收敛前切换流量,VRRP完成网关切换(如需)。BFD采用异步模式动态建立,效率最高。该机制确保业务流量无缝切换,提升网络可靠性。

A516988的博客 754

Servlet技术(四)--Servlet的服务方法抛出异常

Public void service(ServletRequest req,ServletResponseres) throws ServletException,java.io.IOException 以上service()方法声明抛出两个异常: 1、ServletException:表示当Servlet进行常规操作时出现的异常 2、IOException:表示当Servlet进行IO操

想念的专栏 1万+

WIN下使用visual studio 2022安装GMSSL命令行工具

2.1 使用管理员权限打开visual studio(非常重要,否则最后一步 nmake install会失败)右键vs2022,以管理员身份运行即可。2.4 配置环境变量,gmssl可执行程序默认会被安装到如下目录。将如下路径添加到系统环境变量即可。添加后的环境变量如下。2.编译解压后的gmssl源码,编译过程主要参考install.md中的内容,README.md中的步骤不完整。2.2 打开vs2022的命令终端,右键文件,选择在终端中打开。1.下载gmssl源码,解压到相应目录。

qq_45794382的博客 1269

Python 爬虫实战:爬取去哪儿网酒店评价,提取住宿体验关键词

本文介绍了基于去哪儿网酒店评价数据的爬取与分析方法。首先通过分析网页结构和数据加载机制,定位到评价数据的JSON接口及关键参数。然后使用Python搭建爬虫环境,实现多页评价数据的批量采集与存储,并通过反爬策略确保数据获取的稳定性。在文本分析环节,采用jieba分词和TF-IDF算法提取高频关键词,结合词云可视化展示用户关注点。分析结果显示位置、服务、卫生是核心关注维度,同时识别出好评与差评的关键驱动因素。该方法为酒店服务优化和消费者决策提供了数据支持,并可通过扩展实现更深入的情感分析和竞品对比。

2503_91057718的博客 999

Servlet 两种重定向方法与常见Http错误的定义

在servlet/JSP编程学习中,发现有两种方法可以实现服务端输出重定向:一种是通过forward方法(例如JSP中的),另一种则是通过运用javax.servlet.http.HttpServletResponse接口的sendRedirect方法(例如response.sendRedirect(“OtherPage.jsp”); 是利用服务器端先将数据输出到缓冲区的机制,在把缓冲

佑佴哆 3255

2026年1至9月武汉市房地产价格深度分析报告

本报告基于2026年1月至9月武汉市实际成交案例,从成交价格、区域分布、户型结构、价格走势等维度进行深度分析。数据来源包括武汉市住房保障和房屋管理局备案数据、主要中介机构成交记录及典型楼盘网签案例,覆盖全市15个行政区及主要功能板块。

王国平的博客 328

Java网络编程(19):套接字(Socket)的异常

原文地址:http://androidguy.blog.51cto.com/974126/214435 在Socket类的方法中抛出最多的就是SocketException,其余还有七个异常可供Socket类的方法抛出。这些异常的继承关系如图1所示。其中灰色背景框所描述的例

yuanfenger的专栏 891

SIMULINK开发项目实例 1000 例专栏之第847例--基于飞行控制与稳定性的场景实例:多旋翼无人机在风扰动下的稳定性分析

本文介绍了使用Simulink进行多旋翼无人机风扰动稳定性分析的完整流程。首先建立包含动力学模型、控制系统和环境模拟三大模块的仿真系统,其中动力学模型基于牛顿-欧拉方程,控制系统采用PID调节器。重点展示了MATLAB函数实现的风扰动模型和姿态控制算法,通过设置输入信号和输出显示模块完成闭环仿真。最后通过多次风速条件下的仿真测试评估控制系统的抗干扰能力和稳定性表现,为无人机控制系统设计提供了有效的仿真验证方法。

xiaoheshang_123的博客 322

基于MATLAB的最大重叠离散小波变换(MODWT)算法详解

最大重叠离散小波变换(Maximal Overlap Discrete Wavelet Transform, MODWT)是DWT的重要改进形式,由Percival和Walden等人在20世纪90年代系统提出并完善。MODWT通过消除下采样操作,采用样本平移不变的分解方式,解决了DWT的多个固有缺陷。MODWT的核心创新在于取消下采样环节。与DWT每级分解后对滤波输出进行二分下采样不同,MODWT在每一级都使用相同的滤波器,但通过插入零值的方式调整滤波器系数,保持每级系数数量与原始信号相同。

qq_42212808的博客 115

servlet重定向问题

今天开始写代码了 需求是:JSP网页提出请求,后台要对数据做个处理,再显示。 个人觉得解决方案是:提交给一个servlet,在服务器端将数据处理好,servlet跳转到展示页面 so 参考了些servlet重定向的资料,来源:http://akalius.iteye.com

IT小菜的专栏 1413

爬虫瑞数5案例:联通

瑞数动态安全 Botgate(机器人防火墙)以“动态安全”技术为核心,通过动态封装、动态验证、动态混淆、动态令牌等技术对服务器网页底层代码持续动态变换,增加服务器行为的“不可预测性”,实现了从用户端到服务器端的全方位“主动防护”,为各类 Web、HTML5 提供强大的安全保护。

老衲爱洗头的博客 4470

jsp向Servlet;Servlet向jsp传数据

开发工具与关键技术:MyEclipse 10、MySQL、JDBC与数据库连接 作者: 撰写时间:2019年05月17日   在Java中想数据从Jsp传到Servlet或者从Servlet传到Jsp是如何做到的呢!首先,要了解Jsp和Servlet的概念。Jsp是一种建立在Servlet规范提供的功能之上的动态网页技术,允许在网页文件中嵌入Java代码和Jsp标记。通俗一点来讲,Jsp和ht...

weixin_43741599的博客 1万+

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

什么是JSP和Servlet,彻底看清装神弄鬼的JSP和Servlet,绝对干活!!!

由于最近本人正在处于尴尬的找工作期间,在笔试阶段和面试阶段遇到了一些关于JSP和Servlet的知识,答的不是很好,后来也在网上看了一些相关资料,但是发现,基本讲的都非常官方和大概,简直是只授人渔,不授人以渔,只告诉你结果,却不告诉你为什么会有这样的结果。于是我就下定决心彻底搞清楚什么是JSP和Servlet,它们之间又到底是如何进行转换联系的,终于皇天不负有心人,在经过一番挣扎和努力之后,终于看...

m0_37510446的博客 7338

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

什么是 jsp,什么是Servlet?jsp 和Servlet 有什么区别?

jsp 本质上就是一个 Servlet,它是 Servlet 的一种特殊形式(由 SUN 公司推出),每个 jsp 页面都是一个 servlet实例。 Servlet 是由 Java 提供用于开发 web 服务器应用程序的一个组件,运行在服务端,由 servlet 容器管理,用来生成动态内容。一个 servlet 实例是实现了特殊接口 Servlet 的 Java 类,所有自定义的 ser...

qq_41904213的博客 1万+

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

为什么说JSP就是Servlet

Copyright©Zi10ng Jsp和Servlet是学习JavaEE绕不过的弯,那么为什么Jsp就是Servlet呢? 原因 平常在测试代码的时候,我们可能在servlet的派生类中写上这么一行代码: response.getWriter().write("<h1>测试成功<h1>"); 这样字符串中的html语句就会通过servlet输出到浏览器的页面上。 早...

王星星 3665

Servlet与Servlet、JSP与Servlet的跳转

Servlet与Servlet之间的跳转 Servlet和Servlet之间的跳转,可以通过请求转发来实现,即RequestDispatcher对象的forward方法;也可以使用重定向方法,即HttpServletResponse对象的sendRedirect方法。 ...

lanadelrey13的博客 3381

jsp调用Servlet,以及Servlet部署

jsp调用Servlet,以及Servlet部署: Welcome.jsp 代码     This is my JSP page.         请输入用户名:                  Web.xml的配置     This is the description of my J2EE component    This is the di

demon_evil的专栏 1万+

jsp和servlet区别

基本介绍 Servlet: Servlet 是一种服务器端的Java应用程序,具有独立于平台和协议的特性,可以生成动态的Web页面。它担当客户请求(Web浏览器或其他HTTP客户程序)与服务器响应(HTTP服务器上的数据库或应用程序)的中间层。 Servlet是位于Web服务器内部的服务器端的Java应用程序,与传统的从命令行启动的Java应用程序不同,Servlet由Web服务器进行加载,该...

1024 2万+

[JSP]JSP到Servlet的转换

1. JSP生命周期:     1) JSP即JavaServer Pages的简称,即Java服务器生成页面,见名知意;     2) JSP和Servlet是一体两面,JSP页面最终会被转换成Servlet的Java类;     3) 在J2EE标准下,JSP的生命周期是这样的:          xxx.jsp的源码文件   --转译-->   xxx_jsp.java的Servle

Lirx_Tech的专栏 2555

jsp与servlet的联系

JSP与Servlet 这篇文章的主要目的不是单纯的介绍JSP,也不是详细的介绍Servlet。这是一篇讲述JSP和Servlet之间关系的基础性文章。这篇文章主要是针对那些学习JSP的人而写的。至于Servlet和JavaBean以及Servlet和XML我的两个同学在他们的文档中将会给出明确的解释。 本文的主要结构: 1. Servlet是什么? 2. JSP与Servlet. 3.

Frimish的博客 1918

对jsp、servlet的总结

一.Jsp与servlet的区别:    答:1.Servlet中没有内置对象,原来Jsp中的内置对象都是必须通过HttpServletRequest对象和HttpServletResponse对象生成。        2.对于静态的HTML标签,Servlet都必须使用页面输出流诼行输出。   &...

brave1boy的博客 172

[Servlet&JSP] 从JSP到Servlet

JSP与Servlet是一体的两面,JSP最后都会被容器转译为Servlet源代码,自动编译为.class文件,载入.class文件然后生成Servlet对象。由容器转译后的Servlet类具有_jspInit()、_jspDestroy()、_jspService()等方法,名称中有下划线前缀,表示这些方法都是容器转译时维护的,我们不应该从写这些方法。如果想要做些JSP初始化或收尾的工作,则应定义

楚兴 2110

JSP与Servlet的关系

1.定义 JSP是Sun 公司指定的一种服务器端动态页面技术的组件规范,Jsp是以“.jsp”为后缀的文件,在该文件中主要是html 和少量的java 代码。jsp 文件在容器中会转换成Servlet中执行。 Servlet是Sun公司指定的一种用来扩展Web服务器功能的组件规范,属于服务器端程序,主要功能在于交互式地浏览和修改数据,生成动态Web内容。 2.区别与联系 JSP更侧重于前端页面显示,Servlet更侧重于业务逻辑。 JSP经编译后就变成了Servlet。(JSP的本质就是Servl

weixin_51748707的博客 4283

JSP与Servlet

JSP与Servlet 这篇文章的主要目的不是单纯的介绍JSP,也不是详细的介绍Servlet。这是一篇讲述JSP和Servlet之间关系的基础性文章。这篇文章主要是针对那些学习JSP的人而写的。至于Servlet和JavaBean以及Servlet和XML我的两个同学在他们的文档中将会给出明确的解释。本文的主要结构:1. Servlet是什么?2. JSP与Servlet.3. Servlet

cINkIN的专栏 2007
上一篇: Tomcat
下一篇: Servlet el jstl
java_yangXL
博客等级 码龄5年 1粉丝 40原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值