`
javakid
  • 浏览: 7038 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
最近访客 更多访客>>
社区版块
存档分类
最新评论

学习servlet第一天

阅读更多
  其实servlet也是知道一点,看过一些视频。但是都很零散,这次我决定在过年前把servlet都啃下来。
  早上一开始就在看尚学堂的servlet教程。早上看的四个视频都是比较基础的。讲了<servlet>与<url-pattern>总是一对的。两个配对的联系是<servlet-name>,<servlet-class>中间的路径一定要时完整的路径,并以“/”开头,<url-pattern>也是要一“/”开头,这里的“/”代表web-app,这与静态页面中的不一样。带.jsp的文件中的“/”只是对应地址栏上的“/”,action中的路径分为绝对路径和相对路径,绝对路径是指以“/”开头的,当然也包括以协议开头的。
  servlet生命周期,从始到终只有一个对象,也就是tomcat容器只实例化了一次我们写好的类。同时tomcat里有线程池,如果有多个用户同时请求,则tomcat给每个用户分配一个线程,每个线程都去调用那唯一的一个对象。
  servlet生命周期如下:
1.加载classLoader
2.实例化new(当第一次请求过来时)
3.初始化init(servletconfig)    //只调用一次
4.处理请求 service doget dopost  //一多线程的方式处理请求
5.推出服务destroy();

有两个init()方法,一个是带参数config(表示servlet的配置)的,一个不带任何参数,不带参数的是供程序员重写用的。如果程序员重写了init(ServletConfig config)就会冲掉原来init(ServletConfig config) 方法中的this.config=config语句,下面使用config时会出现空指针异常,config是GenericServlet中的一个成员变量,用transient servlet来定义,具体的可以查看GenericServlet源码。

下面是解决说明乱码问题程序的部分事例,主要看注释说明。request对象取请求参数时,是在第一请求时把页面所传过来的参数都取出放到一个地方,然后一个一个取出来。
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html;charset=GBK");
//解决post方式提交内容的乱码
//一定要写在存取第一个参数之前
request.setCharacterEncoding("GBK");

//解决get方式乱码问题:-->URIEncoding="GBK"

PrintWriter out = response.getWriter();
out.println(request.getParameter("param1"));
out.println("<br>");
out.println(request.getParameter("param2"));
out.println("<br>");
out.println(request.getParameter("param3"));
out.println("<br>");
System.out.println("in doGet");
}

如果遇到传过来的参数名有多个一样怎么办呢,如何通过相同的名字取出多个值?下面提供了解决方法。Enumeration 是一个枚举。实现 Enumeration 接口的对象,它生成一系列元素,一次生成一个。连续调用 nextElement 方法将返回一系列的连续元素。用nextElement取出来的是个对象,在这里转化成String类型参数。
Enumeration paramNames = request.getParameterNames();
while (paramNames.hasMoreElements()) {
String paramName = (String) paramNames.nextElement();
out.print("<TR><TD>" + paramName + "\n<TD>");
String[] paramValues = request.getParameterValues(paramName);

  今天学习到此结束了,感觉效率有点低,因为时间花的多,内容学得少。其实,我觉得连续听比较累,偶尔看看CCTV9。英语对我来说真的很重要啊!
1
0
分享到:
评论

相关推荐

    servlet相关的实例(共三个包)第一包

    在这个“servlet相关的实例(共三个包)第一包”中,我们可以深入理解如何使用Servlet技术来构建实际的应用程序,比如人力资源管理系统。这个压缩包包含源码下载和一个使用JSP(JavaServer Pages)和Servlet实现的人力...

    JavaWeb视频教程 传智播客 第一天 共28天

    【JavaWeb视频教程 传智播客 第一天 共28天】是一个全面的JavaWeb学习资源,由知名教育机构传智播客提供。这个系列教程涵盖了28天的学习计划,旨在帮助初学者和有一定基础的开发者深入理解JavaWeb开发技术。在第一天...

    Java Servlet开发与实例

    当服务器启动或第一次接收到对Servlet的请求时,Servlet容器会加载并实例化Servlet。接着,调用`init()`方法进行初始化,通常在这里设置配置参数。在处理客户端请求时,服务器会调用`service()`方法。最后,当服务器...

    servlet资料

    其中,“day07”可能表示一个学习或教学计划的第七天,暗示着这是一系列教程或课程的一部分,专门针对Servlet技术。 在员工管理系统中,Servlet可以用来处理HTTP请求,如增删改查(CRUD)员工信息。以下是一个简单...

    SpringMVC是Spring家族的一款专注于解决控制器层问题的框架技术,学习资料第一天

    SpringMVC是Spring家族的一款专注于解决控制器层问题的框架技术,学习资料第一天。下面是对SpringMVC框架的详细介绍。 一、SpringMVC简介 SpringMVC是一种基于MVC架构思想的框架技术,主要解决控制器层问题。在...

    JavaWeb开发第一天

    在“JavaWeb开发第一天”的学习中,你可能已经接触到了如何创建一个简单的Servlet,了解了Servlet的生命周期,以及如何在JSP中写入基本的HTML和Java代码。你可能还学习了如何在IDE(如Eclipse或IntelliJ IDEA)中...

    day04-Tomcat&Servlet入门-资料.zip

    "day04"可能表示这是某个课程或者学习计划的第四天内容,意味着它可能是系列学习资源的一部分。 【描述解析】 描述中仅给出"day04-Tomcat&Servlet入门-资料.zip",这与标题相同,没有提供额外信息,但可以推测这是...

    day04-Tomcat&Servlet入门-讲义.zip

    【描述】"day04-Tomcat&Servlet入门-讲义.zip"暗示这是一份教学材料,可能包含第四天课程的学习笔记或讲义,专注于初学者如何开始使用Tomcat和Servlet进行Web开发。学习者将通过这份资料了解到如何配置和管理Tomcat...

    Servlet与JSP核心编程(第二版).pdf

    - **Servlet定义**:Servlet是一种Java程序,用于扩展服务器的功能。它提供了一种方法来创建动态Web页面,并处理来自客户端的请求。 - **Servlet生命周期**: - 初始化阶段:通过`init()`方法进行初始化操作。 - ...

    SpringMVC第一天学习代码

    在第一天的学习中,你将接触到一系列关键概念和技术,这些内容将帮助你理解和应用SpringMVC来构建动态网站。 首先,让我们从入门案例开始。SpringMVC的入门通常涉及创建一个DispatcherServlet,它是SpringMVC的前端...

    ORACLE第一天.docx

    "ORACLE第一天.docx"可能是一个关于Oracle数据库学习的课程大纲或教程,涵盖了从基础的编程语言、操作系统到Oracle数据库的深入学习。课程旨在帮助学员掌握从实际问题转化为计算机问题的思维方式,以及通过实际项目...

    IDEA版JavaWeb从入门到精通之Servlet第6-7天

    课程涵盖:Servlet程序、Filter过滤器、Listener监听器、JSP页面、EL表达式、JSTL标签库、jQuery框架、Cookie技术、Session会话、JSON使用、Ajax请求等全部Web开发核心...本系列教程共计16天,本章为第6-7天Servlet。

    《超市订单管理系统》-SSM框架应用-Java EE企业级应用开发学习记录(综合项目开发第一天)

    基于SSM的超市订单管理系统-开发第一天 运行环境:该系统需要以下运行环境: Java环境:Jdk8或更高版本。 Web容器: 支持Servlet 3.0规范的容器,如Apache Tomcat7。 数据库:MySQL8.0关系型数据库管理系统。 开发...

    SpringMVC第一天.pdf

    ### SpringMVC第一天知识点详解 #### 一、SpringMVC简介 **1. SpringMVC中的重要组件** - **1.1 DispatcherServlet (前端控制器):** DispatcherServlet 是 SpringMVC 的入口点,它负责接收来自客户端的所有HTTP...

    spring5mvc第一天【大纲笔记】.zip

    在web.xml中配置DispatcherServlet,并设置servlet-mapping,定义请求前缀和后缀。同时,需要创建SpringMVC的配置文件,如spring-mvc.xml,其中包含视图解析器、拦截器、数据绑定等配置。 1.3 Hello World 编写一个...

    十天学会JAVA,JSP学习系列教程

    第一天,教程从JAVA的JDK(Java Development Kit)安装开始,这是进行JAVA编程的基础。了解如何下载、安装和配置JDK环境,是成为一名JAVA开发者的第一步。同时,JDK包含了JAVA编译器和各种开发工具,为后续的学习...

    JavaWeb 视频教程 传智播客 第2天 共28天

    在第一天的课程回顾中,可能涉及了Java语言的基础,包括语法、面向对象编程、异常处理等,为第二天的JavaWeb学习打下了坚实的基础。而第二天的重点可能会转向Servlet,这是JavaWeb中用于处理HTTP请求的核心技术。...

    SpringMVC框架第一天【随堂笔记】1

    SpringMVC框架是Java开发Web应用的常用工具,它基于MVC设计模式,提供了一种轻量级的请求驱动方式来构建Web应用程序。本篇笔记将深入探讨...通过深入学习和实践,我们可以更好地掌握SpringMVC,提升Web开发的能力。

    jsp第七章学习笔记

    ### jsp第七章学习笔记 #### 一、Servlet概述与生命周期 Servlet是一种运行在服务器端的Java程序,主要用于处理客户端的HTTP请求,并做出相应的响应。Servlet技术是Java Web开发的基础,它提供了一种通用、可扩展...

Global site tag (gtag.js) - Google Analytics