`
汪_锐
  • 浏览: 6133 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

复习第一天Servlet

阅读更多

1.servlet定义: 运行在服务器端的java类.

2.servle生命周期

   <1>WEB容器创建Servlet实例

   <2>调用Servlet的init方法

   <3>多次调用Servlet的service方法(即Servlet是单例的)

   <4>WEB容器关闭时调用Servlet的destroy方法销毁Servlet

 

3.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_2_5.xsd"
	id="WebApp_ID" version="2.5">
	
	<context-param>
		<param-name>test2</param-name>
		<param-value>myServlet2</param-value>
	</context-param>
	
	<servlet>
		<servlet-name>MyServlet</servlet-name>
		<servlet-class>com.wr.servlet.MyServlet</servlet-class>
		<init-param>
			<param-name>test</param-name>
			<param-value>myServlet</param-value>
		</init-param>
		<load-on-startup>0</load-on-startup>
	</servlet>
	
	<servlet-mapping>
		<servlet-name>MyServlet</servlet-name>
		<url-pattern>/MyServlet</url-pattern>
	</servlet-mapping>
</web-app>

    

    load-on-startup: 配置Servlet的加载方式

            <1>值为负数时,访问当前Servlet时才创建Servlet实例

            <2>值位正数时,WEB应用加载时就创建Servlet实例, 值越小优先级越高,最先创建.

 

package com.wr.servlet;

import java.io.IOException;

import javax.servlet.Servlet;
import javax.servlet.ServletConfig;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;

/**
 * Servlet implementation class MyServlet
 */
public class MyServlet implements Servlet{
	
	public MyServlet() {
		System.out.println("MyServlet.MyServlet()");
	}

	public void init(ServletConfig config) throws ServletException {
		// TODO Auto-generated method stub
		System.out.println("MyServlet.init()");
		String param = config.getInitParameter("test");
		System.out.println(param);
		ServletContext context = config.getServletContext();
		System.out.println(context.getInitParameter("test2"));
	}

	public ServletConfig getServletConfig() {
		// TODO Auto-generated method stub
		System.out.println("MyServlet.getServletConfig()");
		return null;
	}

	public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException {
		System.out.println("MyServlet.service()");
		// TODO Auto-generated method stub
		
	}

	public String getServletInfo() {
		System.out.println("MyServlet.getServletInfo()");
		// TODO Auto-generated method stub
		return null;
	}

	public void destroy() {
		System.out.println("MyServlet.destroy()");
		// TODO Auto-generated method stub
		
	}
	
}

     ServletConfig: 当前Servlet的配置对象, 可以读取配置在Servlet中的初始化参数

     ServletContext: 当前WEB应用的上下文对象, 可以读取配置在WEB配置文件中的初始化参数

 

4.请求转发和重定向

	//重定向
	//response.sendRedirect("first.jsp");
	//请求转发
	request.getRequestDispatcher("first.jsp").forward(request, response);

 区别:

 1.地址栏不同

   重定向地址栏会发生变化, 转发不会.

 2.request对象不同

   重定向后不request不是同一个, 转发是同一个.

3. "/"代表意义不同

   重定向时候"/"代表站点根目录, 转发代表当前WEB应用根目录.

4.转发只能转发WEB内部资源, 不能转发外部资源.

   重定向可以重定向到任意资源.(例如:不能转发到www.baidu.com,只能重定向)

分享到:
评论

相关推荐

    基于ZigBee+ESP32+MQTT+EMQX+TomCat+Servlet接口+MySQL+Androidapp的物联网课程设置.zip

    基于ZigBee+ESP32+MQTT+EMQX+TomCat+Servlet接口+MySQL+Androidapp的物联网课程设置智能家居基于ZigBee+ESP32+MQTT+EMQX+TomCat+Servlet接口+MySQL+Androidapp的物联网项目一、写在前面在放寒假前,自己也说过,这个...

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

    这一天的课程可能进一步讲解了Servlet生命周期、init()、service()、destroy()方法的使用,以及如何在Servlet中处理GET和POST请求。 2. **JSP(JavaServer Pages)**:JSP是Servlet的另一种表现形式,更方便于视...

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

    JavaWeb是Java技术在Web应用开发中的...这个第27天的课程很可能是对之前学到的复习和巩固,为最后一天的总结做好准备。通过这些内容的学习,开发者将具备开发实际JavaWeb应用的能力,能够构建动态、交互性强的Web系统。

    【免费】方立勋JavaWeb[1-11day]源码

    在方立勋的课程中,第一天可能涉及Java环境的搭建和基础语法复习,为后续的Web开发打下坚实的语言基础。第二天至第四天,可能会深入讲解Servlet的生命周期、请求响应处理机制以及JSP的基本使用。第五天到第七天,...

    21天学通JAVA-WEB开发电子教案(PPT)

    【文件名称列表】虽然未提供具体的文件名,但通常这样的教程会包含多个PPT文件,每个文件可能对应课程的不同章节,如"第一天:Java语言基础"、"第二天:Servlet介绍"、"第三天:JSP基本语法"等,逐步深入,逐步引导...

    方立勋JavaWeb视频前九天

    - **day01**:可能涉及JavaWeb开发环境的搭建,如安装JDK、Tomcat服务器,配置环境变量,以及第一个"Hello, World!"的Servlet程序。 - **day04**:可能讲解了Servlet的详细概念,包括Servlet生命周期,doGet和...

    达内学习用的jdbc与struts笔记.pdf

    - 第一天:可能涵盖了Struts的基本概念,如MVC模式、Struts架构、配置文件(struts-config.xml)等。 - 第二天:可能深入讲解了Action类、Form Beans、ActionMapping和ActionForward等关键概念。 - 第三天:可能...

    Day04实习日记1

    上午的课程首先预留了半小时回顾前一天的知识,这是复习巩固的重要环节,确保我们对之前学过的概念有清晰的理解。接着,我们继续深入学习Java EE,特别是Servlet,Servlet是Java平台上的一个标准,用于处理HTTP请求...

    java笔试题 大全(附答案)

    获取某日期当月最后一天,可以使用Calendar类设置为下个月第一天再减一天。 5. 数组是固定大小的数据集合,集合如ArrayList、LinkedList、HashSet、HashMap等,提供动态存储和操作功能。 6. 文件和目录操作,如...

    2024年JavaWeb应用开发系列中级复习课-理论题.pdf

    - **C: WEEK**:此选项用于获取指定日期是一周中的哪一天,并不适用本题情境。 - **D: DAY**:虽然有些框架或API中可能会有类似的命名,但在标准Java API中,这并不是一个明确的方法名称。 **结论**:在Java中,...

    NotesOnJava8:这些是我自己对为期一周的 Java 8 课程的笔记

    介绍 这些是我自己对为期一周的 Java 8 课程(也涉及 JEE、Spring 和设计... 第一天 Java 8 中的新功能 StreamAPI Java 8 最重要的部分,内置对 mapreduce 的支持 Java 几乎就像从面向对象过渡到脚本编写(想想 Python

    传智播客崔希凡JavaWeb-day16-mysql第二天-全部资料

    4. **day16_code**:这部分内容可能是课程中涉及的代码实例,涵盖了一天的学习内容。通过查看和运行这些代码,学习者可以实践编程技巧,理解Java与数据库之间的交互,如JDBC(Java Database Connectivity)的使用,...

    达内教学课件spring

    通过"java_spring_day01_1.xps"至"java_spring_day05_5.xps"这些课件,学习者可以系统地从第一天开始,逐步深入Spring的世界,了解每个组件的功能和使用方法,最终掌握Spring的全貌,为实际项目开发打下坚实基础。...

    JAVA面试题从基础到高级篇.doc

    - 当月最后一天:使用Calendar类设置日期到下个月第一天,然后减去一天。 - 格式化日期:使用SimpleDateFormat类。 二、JSP&Servlet技术 1. JSP是动态网页,Servlet是服务器端程序,它们都能处理HTTP请求。JSP...

    [HeyJava][传智播客]BBS-day004-003.rar

    1. 【HeyJava】【传智播客】BBS-day004-003.avi:这是一个视频文件,很可能是该课程的第四天第三部分的讲解视频。在这个视频中,讲师可能会讲解Java编程语言中的某个特定主题,比如面向对象编程、类与对象、继承、多...

    java学习资料总结2015新

    - **《21天学通JavaScript(第2版)》** 和 **《JavaScript动态网页开发案例指导》** 则通过丰富的案例帮助读者快速掌握 JavaScript 的核心概念和技术。 通过以上资源的学习,无论是初学者还是有一定经验的开发者,...

Global site tag (gtag.js) - Google Analytics