Javaweb Servlet深入概述(二)
概述
Java Web应用程序中所有的请求-响应都是由Servlet来完成的,Servlet是Java Web的核心程序,所有的网址最终交给Servlet来处理 。Servlet并没有main之类的执行方法。当用户访问服务器的时候,Tomcat是通过调用Servlet的某些方法来完成整个过程的。
Servlet工作流程
浏览器提交的请求是遵循HTTP协议的文本。这段文本由服务器也就是Tomcat接收并解析,封装成了HttpServletRequest类型的request对象。所有的HTTP头数据都可以通过request相应的方法查询到。
Tomcat同时把输出流封装为HttpServletResponse类型的对象,通过设置response属性就可以控制输出的内容。然后,Tomcat把request,response作为参数,调用Servlet的相应方法,例如doPost(requrest, response),doGet(request, response)等。
Servlet中主要处理业务逻辑,例如读取数据库、权限检查、业务处理等。Java Web应用程序请求-响应典型过程如图:
Servlet接口
Servlet是一种实现了javax.servlet.Servlet接口的类,接口规定了特定的方法来处理特定的请求。
web.xml
Java Web开发中,常量信息倾向于写在配置文件里面,需求变化时只修改配置文件,不用修改源程序,不用重新编译,维护起来方便
(1)初始化参数(init-param)
配置多个param-name,param-value
Servlet中提供getInitParameter(String param)获取初始化参数值,也可以通过Servlet的getServletConfig()返回ServletConfig然后再获取初始值
(2)上下文参数
Servlet调用getServletConfig().getServletContext.getInitParameter(“type”);
init-param配置在<Servlet>标签内,只能由这个Servlet读取,不是全局参数。上下文参数可以被所有Servlet读取
初始化参数和上下文参数只能配置简单的字符串类型参数
资源注入(@Resourse)、使用JNDI(Java Naming and Directory Interface)获取资源。
Servlet生命周期
Servlet之间的跳转
1.转向
RequestDispatcher dispatcher = request.getRequestDispatcher(“/servlet/MyServlet”);
dispatcher.forword(request, response);
使用forword跳转时,地址栏显示跳转前的Servlet访问地址
在Struct、WebWork等MVC框架中,都是用Servlet处理请求,把结果通过request.setAttribute()放到request中,然后forword到JSP中显示。
2.重定向(Redirect)
response.setStatus(HttpServletResponse.SC_MOVED_TEMPORARILY);
response.setHeader(“Location”, “http://www.xuetimes.com”);
现在HttpServletResponse封装了,只需调用sendRedirection(String location)就行。
3.自动刷新(Refresh)
response.setHeader(“Refresh”, “1000, URL=http://www.xuetimes.com/index”);
设置1秒后自动跳转的路径。
Servlet与线程安生
多线程并发的读写Servlet类属性会导制数据不同步,并发只读取不写入不存在问题,Servlet只读属性最好定义为final类型。
转载请注明:学时网 » Javaweb Servlet深入概述(二)
相关推荐
一、JavaWeb应用概述 JavaWeb应用是使用Java语言开发的、运行在服务器端的应用程序,能够处理来自客户端(如浏览器)的请求,并返回相应的动态内容。这些应用通常由HTML、CSS、JavaScript以及Java Servlets、JSP...
本文将深入探讨JavaWeb的核心概念、架构及其在实际开发中的应用。 一、JavaWeb概述 JavaWeb是一种基于Java技术的Web开发平台,它包括Servlet、JSP(JavaServer Pages)、JSTL(JavaServer Pages Standard Tag ...
本篇将深入探讨如何利用Servlet和JSP实现一个图书管理系统,以及与MySQL数据库的交互。对于初学者而言,这是一个绝佳的学习实践项目,有助于理解和掌握Web开发的基本流程和技术栈。 一、Servlet概述 Servlet是Java...
5.1 servlet与servlet容器 182 5.2 servlet容器的分类 183 5.3 servlet和其他技术的比较 183 5.4 tomcat介绍 183 5.5 tomcat的安装与配置 184 5.5.1 安装tomcat 185 5.5.2 运行tomcat 186 5.5.3 tomcat启动...
第2章《Java Web概述》介绍了JavaWeb的概念,包括它与传统的Java应用程序的区别以及它在Web服务中的角色。这一章将引导我们理解Servlet和JSP(JavaServer Pages)的核心概念,它们是JavaWeb开发中的主要组件。 第3...
【JavaWeb概述】 JavaWeb是基于Java技术的Web应用程序开发平台,它涵盖了Java语言、Servlet、JSP(JavaServer Pages)、JSTL(JavaServer Pages Standard Tag Library)、EL(Expression Language)以及各种Java...
以上概述了JavaWeb应用开发的基础知识和技术要点,包括Web应用的工作原理、JavaWeb编程的入门概念、Web编程基础、开发环境的搭建、Servlet编程技术和JSP语法。掌握这些核心知识点对于深入理解和实践JavaWeb开发至关...
【JavaWeb概述】 JavaWeb是Java技术在Web开发领域的应用,它涵盖了服务器端编程、网页动态生成、数据库交互等一系列技术。JavaWeb的核心组件包括Servlet、JSP(JavaServer Pages)、JSTL(JavaServer Pages ...
【JavaWeb概述】 JavaWeb是Java技术在Web开发领域的应用,它涵盖了服务器端编程、网页动态生成、数据库交互等一系列技术。JavaWeb的核心组件包括Servlet、JSP(JavaServer Pages)、JSTL(JavaServer Pages ...
1. **JavaWeb概述**:这部分可能会介绍JavaWeb的定义、特点和应用领域,以及与传统的Java应用程序的区别。它可能还会提到JavaWeb开发的常用技术栈,如Servlet、JSP、JNDI、JTA等。 2. **Servlet技术**:Servlet是...
### JavaWEB项目开发案例...总之,《JavaWEB项目开发案例精粹》通过丰富的案例和实践经验分享,为读者提供了一个全面、深入理解JavaWEB开发的平台。希望每位读者都能够从中获益匪浅,并在未来的工作中取得更大的成就。
### JavaWeb安全攻击概述 #### JavaEE基础和JavaWeb结构 Java Web 应用开发是基于JavaEE平台的,该平台提供了企业级开发所需要的一系列服务和API。在JavaWeb安全攻击的背景下,需要了解的基础知识点包括: - **JSP...
### JAVAWEB开发实战经典(李兴华)配套视频知识点概述 #### 一、JavaWeb基础知识 **1. JavaWeb概述:** - **定义与背景:** JavaWeb是一种使用Java语言开发Web应用的技术框架。它包括了一系列的技术标准,如...
### JavaWeb基础概述 JavaWeb是基于Java语言进行Web应用开发的一套技术体系。它不仅包括了传统的Java Servlet、JSP技术,还涵盖了如Spring MVC、Struts、Hibernate等现代Web框架。JavaWeb应用通常运行在支持Java的...
【JavaWeb仿摩拜单车项目概述】 JavaWeb技术在开发基于Web的应用程序中扮演着重要角色,它结合了Java语言的强大功能与Web的交互性。本项目“仿摩拜单车”是一个基于JavaWeb的示例应用,旨在模拟摩拜单车的用户界面...
#### 一、JavaWeb概述 JavaWeb是基于Java技术的一种Web应用程序开发方式,它利用Java平台的强大功能来构建复杂的Web应用。JavaWeb技术栈包括了多个关键组件和技术,如Servlet、JSP、过滤器、监听器等。此外,为了...
接下来,我们将基于这些信息深入探讨JavaWeb相关的知识点,并提供一个详细的概述,帮助读者更好地理解和学习JavaWeb技术。 ### JavaWeb简介 JavaWeb是Java语言在Web开发领域的应用。它是一种利用Java开发Web应用...
【JavaWeb手机商城项目概述】 JavaWeb手机商城项目是一个基于Servlet技术、结合MySQL数据库的电子商务平台,旨在为初学者提供一个实践和学习Web开发的实例。这个项目涵盖了Web应用程序开发中的许多关键概念和技术,...
本思维导图详细地概述了JavaWeb开发中的关键模块,帮助开发者系统性地理解和掌握这一领域的知识体系。 首先,让我们从"java基础"模块开始。这部分是JavaWeb学习的基石,包括Java语言的基本语法、面向对象编程概念...