`

head first 学习笔记 JSP&Servlet--3

阅读更多
7.servlet中的幂等请求
    get,head,put是被认为幂等请求,也就是多个完全相同的请求过来时只当做一个请求来处理,非幂等的请求则是当做多个请求来处理。
    即get从服务器获得数据,不会更新数据,post会更新数据库信息。这个就是为什么在用get方式请求服务器的时候会带上一个无效的时间参数,来让服务器来将最新的数据返回。


8.getServerPort(),getLocalPort(),getRemotePort()区别
 
  8.1 getRemotePort() 获得远程客户端端口
  8.2 getServerPort() 获得请求原来发送的端口
  8.3 getLocalPort()  获得请求最后发送的端口
因为servlet会处理多个请求,每个请求会为每个线程找一个不同的端口


1. response 对象

   一般用于向客户端返回请求。设置需要返回内容类型
一个典型的读取jar包的输出返回

package com.xzm.servlet;

import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;

import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class ContentTypeServlet extends HttpServlet {

        /**
         *
         */
        private static final long serialVersionUID = 1L;

        @Override
        protected void doGet(HttpServletRequest req, HttpServletResponse resp)
                        throws ServletException, IOException
        {
            //设置定返回的对象类型,告诉浏览器你要返回的数据类型
            resp.setContentType("application/jar");
           
            //根据系统级的参数获取读取文件资源的方式
            ServletContext ctxContext = getServletContext();
            // getResourceAsStream()方法需要以/开头,这个表示web应用的根路径:webApp/XXweb/bookCode.jar 与WEB-INF同级
            InputStream is = ctxContext.getResourceAsStream("/bookCode.jar");
           
            int read = 0;
            byte[] buffer = new byte[1024];
           
            OutputStream os = resp.getOutputStream();
            while((read = is.read(buffer))!=-1)
            {
                os.write(buffer);
            }
           
            is.close();
            os.close();
        }

}

常见的MIME类型:

text/html
application/pdf
video/quicktime
application/java
application/jpeg
application/jar
application/octet-stream
application/x-zip
分享到:
评论

相关推荐

    Head First Servlet & JSP

    《Head First Servlet & JSP》是一本非常受欢迎的IT教程,专为准备SCWCD(Sun Certified Web Component Developer)认证的读者设计。本书以其独特的学习风格,深入浅出地介绍了Servlet和JSP(JavaServer Pages)这两...

    head_first_servlet&jsp学习笔记

    【Servlet&JSP基础知识】 ...以上是`head_first_servlet&jsp`学习笔记的主要知识点,涵盖了Servlet和JSP的基础、Web应用架构、MVC模式、会话管理和JSP编程等多个方面,为深入理解和实践Servlet与JSP开发奠定了基础。

    Head First Servlets & JSP 学习笔记

    以上只是《Head First Servlets & JSP》一书中的部分核心知识点,实际内容还包括过滤器、监听器、MVC设计模式、JSTL等更广泛的主题,旨在帮助读者全面理解和掌握Servlet和JSP技术。通过深入学习,开发者能够构建高效...

    Head First Servlet JSP(中文版)

    《Head First Servlet JSP(中文版)》是一本专为初学者设计的Java Web开发教程,旨在通过生动有趣的方式引导读者快速掌握Servlet和JSP的核心概念和技术。这本书以易理解的图文并茂的形式,深入浅出地讲解了这两个重要...

    SCWCD学习笔记(Head First Servlets & JSP)

    SCWCD,全称Sun Certified Web Component Developer,是Java EE认证的一部分,主要涉及Servlet和JSP的...通过学习《SCWCD Exam Study Kit》和《Head First Servlets & JSP》,你可以深入理解这些概念并掌握实践技巧。

    jsp-servlet

    3. **书籍**:如《Head First Servlets & JSP》等经典书籍。 4. **开源项目**:参与开源项目,如GitHub上的相关项目,可以深入理解JSP-Servlet的实际应用。 总的来说,`jsp-servlet`是Java Web开发中的核心组成部分...

    JSP学习笔记(精简)

    ### JSP学习笔记精简版 #### 一、JSP简介 JSP(JavaServer Pages)是一种基于Java的服务器端动态网页技术标准。它通过在HTML文档中嵌入Java代码来实现动态页面的功能。与其他动态网页技术如ASP、PHP等相比,JSP具有...

    java jdk7 学习笔记

    再看第二本《java核心技术卷1-基础知识》,bruce eckel推荐的入门书籍。 第三本是《java核心技术卷2-高级特性》。 第四本是bruce eckel本人编写...第五本是《head first servlet &jsp》。 第六本是《head first ejb》。

    j2ee学习笔记(对于初学者而言如虎添翼)

    2. **教程和书籍**:选择一些经典教材,如《Head First Servlets & JSP》、《Java EE 7 Development with WildFly》等。 3. **在线课程**:参加Coursera、Udemy等平台的J2EE课程,通过视频教程和实战项目学习。 4. *...

    SCWCD 题库整理

    Head First 串讲笔记.pdf可能以易于理解的方式阐述了这些概念。 3. **JSTL**:JSTL是JavaServer Pages Standard Tag Library的缩写,它提供了用于处理常见任务的标签,比如XML处理、SQL查询、国际化和格式化。...

    八种编程语言毕业设计参考文献

    《JSP&Servlet学习笔记》**(2012):通过作者的学习笔记形式,详细记录了JSP和Servlet的学习过程和心得,适合自学。 7. **刘京华.《JavaWeb整合开发王者归来》**(2010):介绍了JavaWeb开发的各种技术,并且强调了...

    SCWCD(310-083)复习资料与题库

    SCWCD,全称为Sun Certified Web Component Developer,是...Head First系列的笔记总结以其生动易懂的方式,通常能帮助学习者更直观地理解复杂概念。因此,这些资源对于备考SCWCD 310-083考试的考生来说是非常宝贵的。

    这些年学习JAVA的资源,包括工具和资源包

    对于Java Web,推荐《深入分析Java Web技术内幕》、《Spring实战》和《Head First Servlets & JSP》。 实践项目是提升技能的关键。GitHub是开发者社区,其中的开源项目可以作为学习材料。你可以使用Astral这样的...

    21天学通java

    3. **HeadFirst设计模式(中文版)**: - 设计模式是软件工程中解决常见问题的模板,本书以一种易于理解的方式介绍了各种设计模式。 - 适合希望提高软件设计能力的学习者。 ### 实战案例与项目开发 1. **疯狂...

Global site tag (gtag.js) - Google Analytics