- 浏览: 153476 次
- 性别:
- 来自: 大连
文章分类
最新评论
-
fddjxllren:
session.find()是不支持动态绑定参数的.要使用it ...
Hibernate查询之list/iterator -
xiaofeiyang:
http://svn.apache.org/repos/asf ...
struts,hibernate,spring 版本控制svn的URL地址 -
peterxiemin:
emp在建立的时候,报无效的月份,为什么 ?
oracle的练习表---employee -
java_bigniu:
...
Hibernate查询之list/iterator -
lanhai921:
学习下,谢谢分享。
itext基本用法
使用jsp可以完成动态的web开发,但是在开发时发现大量的代码在页面中,这样不简洁,不利于维护!
1,什么是Servlet?
Servlet(服务器端小程序)是使用java编写的服务器端程序,可以像jsp一样,生成动态的Web页,Servlet主要运行在服务器端,并由服务器调用执行,是一种按照Servlet标准开发的类;Servlet是Java对CGI程序的实现,但是与传统的CGI相比,Servlet是多线程的处理方式,这样Servlet的运行效率会比CGI高,Servlet还保留了Java的可移植性特点,使得Servlet更加易用,功能也更加强大;
2,Servlet的运行步骤;
- 客户端通过HTTP发出请求;
- Web服务器接收该请求并将其发送给Servlet。如果这个Servlet尚未被加载,Web服务器将把它加载到JAVA虚拟机并执行它;
- Servlet程序将接收该HTTP请求并执行某种处理;
- Servlet会将处理后的结果向Web服务器返回应答;
- Web服务器将从Servlet收到的应答发回给客户端;
3,第一个Servlet!
index.jsp:
<a href="firstServlet">测试Servlet</a>
web.xml:
<servlet> <servlet-name>firstServlet</servlet-name> <servlet-class>com.keith.servlet.FirstServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>firstServlet</servlet-name> <url-pattern>/firstServlet</url-pattern> </servlet-mapping>
FirstServlet.java:
package com.keith.servlet; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class FirstServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { this.doPost(req, resp); } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { System.out.println("------------hello,world---------------"); } }
客户端发出请求,通过web.xml找到FirstServlet类,然后执行doPost()/doGet()方法,在控制台输出hello,world!
4,Servlet生命周期!
Servlet程序是运行在服务器端的一段java程序,其生命周期将受到Web容器的控制,生命周期包括加载程序,初始化,服务,销毁,卸载5部分;
其作用如下:
- 加载Servlet
web容器负责加载Servlet,当Web容器启动时或者是在第一次使用这个Servlet时,容器会负责创建Servlet实例,但是用户必须通过部署描述符(web.xml)指定Servlet的位置(Servlet所在的包,类),成功的加载后,web容器会通过反射的方式对Servlet进行实例化;
- 初始化
当一个Servlet被实例化后,容器将调用init()方法初始化这个对象,初始化的目的是为了让Servlet对象在处理客户端请求前完成一些初始化工作,比如建立数据库连接,读取资源文件等信息,如果初始化失败,则此Servlet将直接被卸载!
- 处理服务
当有请求提交时,Servlet将调用service()方法(常用的是doGet()/doPost())进行处理。在service()方法中,Servlet可以通过ServletRequest接受客户端的请求,也可以利用ServletResponse设置响应信息;
- 销毁
当Web容器关闭或者检测到一个Servlet要从容器中被删除时,会自动调用destory()方法,以便让该实例释放掉所占用的资源;
- 卸载
当一个Servlet调用完destory()方法后,此实例将等待被垃圾收集器所回收,如果需要再次使用此Servlet()时,会重新调用init()方法初始化;
注意:正常情况下,Servlet只会初始化一次,而处理服务会调用对次,销毁也只会调用一次。但是如果一个Servlet长时间不使用的话,也会被容器自动销毁,而如果需要再次使用时会重新进行初始化操作,即在特殊的情况下初始化可能会进行多次,销毁也可能进行多次;
5,取得初始化配置信息
在web.xml中配置servlet时,我们可以为其添加<init-param>标签,里面可以设置参数可以通过config对象获取;
例如,在web.xml中:
<servlet> <servlet-name>firstServlet</servlet-name> <servlet-class>com.keith.servlet.FirstServlet</servlet-class> <init-param> <param-name>name</param-name> <param-value>keith</param-value> </init-param> </servlet> <servlet-mapping> <servlet-name>firstServlet</servlet-name> <url-pattern>/firstServlet</url-pattern> </servlet-mapping>
FirstServlet.java:
package com.keith.servlet; import java.io.IOException; import javax.servlet.ServletConfig; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class FirstServlet extends HttpServlet { private String initParam = null; @Override public void init(ServletConfig config) throws ServletException { this.initParam = config.getInitParameter("name"); } @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { this.doPost(req, resp); } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { System.out.println("初始化参数name:"+this.initParam); } }
可以得到name的值:keith;每一个Servlet可以同时配置多个初始化参数,配置参数时直接使用<init-param>元素即可;
6,获取其他内置对象
- 获取HttpSession实例:
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { HttpSession session = req.getSession(); session.setAttribute("name", "keith"); System.out.println("name的值是"+session.getAttribute("name")); }
- 获取ServletContext实例:
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { ServletContext app = super.getServletContext(); System.out.println("真实路径是:"+app.getRealPath("/")); }
发表评论
-
JSTL标签之XML标签库,函数标签库
2011-01-20 13:14 0在JSTL中可提供了用于XML解析的操作,这样可以减少 ... -
JSTL常用标签之大聚集---下
2011-01-20 10:17 1390JSTL国际化标签库: 其主要标签如下: NO ... -
JSTL常用标签之大聚集---中
2011-01-20 08:52 991<c:forEach>标签: 主要 ... -
JSTL常用标签之大聚集---上
2011-01-17 22:53 1096JSTL已经被继承到了javaEE ... -
jsp标签编程『续』---简单开发
2011-01-17 16:03 1387在jsp1.2之前如果想要对标签库进行开发,要么继承Ta ... -
jsp标签编程『下』---开发迭代标签
2011-01-17 10:48 1290开发一个迭代标签,此标签只可以对list进行迭代(学习)。 ... -
jsp标签编程『下』---TagSupport类
2011-01-17 10:11 2839掌握基本的标签定义后,可以发现定义标签时都需要继承TagSup ... -
jsp标签编程『中』---定义有属性的标签
2011-01-17 09:13 999定义一个日期标签,则用户就必须指定格式化日期的格式; Dat ... -
jsp标签编程『上』---编写标签
2011-01-16 21:30 10701,什么是JSP标签库? JSP标签库(自定义标签 ... -
javaWeb之表达式语言---初始EL
2011-01-16 08:55 10011,何为表达式语言(Expression Language,E ... -
监听器实例之---在线人员统计
2011-01-15 17:30 0当用户成功登录后,会在列表中增加此用户名称,这样就可 ... -
jsp/servlet之监听器
2011-01-15 16:05 16091,什么是监听器? 其主要的功能就是监听Web ... -
jsp/servlet之过滤器
2011-01-15 14:03 10971,什么是过滤器(filter)? 它是以一种 ... -
MVC之实例操作---MVC设计模式应用
2011-01-15 09:18 3979MVC的第一个实例-----一个登陆: 首先我们需要一个VO ... -
javaWeb之MVC模式
2011-01-13 23:11 1404javaWeb引入了servlet概念 ... -
javaWeb之Servlet跳转
2011-01-13 22:53 1851servlet跳转分为:客户端跳转和服务器端跳转; 客户端 ... -
javaBean实例之注册验证
2011-01-13 14:29 3123首先定义Bean: package com.keith.be ... -
javaWeb之JavaBean
2011-01-13 13:47 12521,什么是JavaBean? ... -
jsp之阶段性总结
2011-01-13 08:53 8991,web安全性! 在web目录中必须存在一个&q ... -
jsp值application
2011-01-12 22:34 11291,什么是application? application对 ...
相关推荐
全面介绍javaweb的三大组件之一servlet,图文并茂,适合初学者,也适合有一定基础的学习者进阶!
基于javaWeb原生servlet开发的网盘项目源码(期末大作业).zip基于javaWeb原生servlet开发的网盘项目源码(期末大作业).zip基于javaWeb原生servlet开发的网盘项目源码(期末大作业).zip基于javaWeb原生servlet开发的网盘...
servlet-api的jar文件,tomcat9.0.56的
【JavaWeb + Servlet + MySQL 学生信息管理系统】 在IT领域,开发一个基于JavaWeb、Servlet和MySQL的学生信息管理系统是一项常见的任务,它涉及到多种技术的综合应用,包括前端交互、后端逻辑处理以及数据存储。这...
JavaWeb和Servlet是Web开发中的核心技术,主要用于构建动态、交互式的服务器端应用程序。在这个"JavaWeb+Servlet 教师管理系统.zip"中,我们看到的是一个实际应用实例,它利用了这两种技术来创建一个教师管理系统。...
基于JavaWeb Servlet+JSP+MYSQL+Bootstrap 文章管理系统 基于JavaWeb Servlet+JSP+MYSQL+Bootstrap 文章管理系统 基于JavaWeb Servlet+JSP+MYSQL+Bootstrap 文章管理系统 基于JavaWeb Servlet+JSP+MYSQL+Bootstrap ...
### JavaWeb-Servlet、MySQL 实现用户增删改查 #### 概述 本文将详细介绍如何使用JavaWeb中的Servlet技术结合MySQL数据库实现用户的增删改查功能。此项目旨在为初学者提供一个基础示例,了解如何在JavaWeb环境中...
JavaWeb Servlet版图书商城Demo是一个基于JavaWeb技术的在线图书销售平台示例,适用于那些已经对JavaWeb有基本了解的学习者。这个项目旨在提供一个实际的、可运行的应用程序,帮助开发者理解如何在Web环境中使用...
javaWeb+servlet实现简单的购物车系统 1、技术栈 javaWeb + servlet + tomcat + html + css 2、需求说明 (1)设计一个商品展示html页面 (2)点击“添加到购物车”这一超链接后跳转到一个Servlet,在该Servlet中...
在本项目中,“JavaWeb实现servlet登录”指的是使用Servlet技术来构建一个用户登录系统。这个系统通常包括用户输入验证、数据库交互以及会话管理等关键部分。 首先,我们需要了解Servlet的工作原理。当用户在浏览器...
主要包括Servlet基础和 ServletConfig接口,ServletContext接口两大部分; javaweb,servlet,接口,编写类; 初学者,大学生,复习,详细,课堂笔记;
在本文中,我们将深入探讨如何使用JavaWeb技术栈,特别是JavaBean、JSP和Servlet(MVC模式)来实现一个体重指数(BMI)计算器。JavaWeb是开发基于Web的应用程序的强大工具,它允许开发者构建动态、交互式的网页。在...
在本篇文章中,我们将深入探讨如何使用JavaWeb技术来编写Servlet,以及相关的知识点。 首先,了解Servlet的基础概念至关重要。Servlet是一个Java类,它扩展了Java平台的能力,使得开发者可以创建动态、交互式的Web...
javaWeb+servlet实现简单的购物车系统 1、技术栈 javaWeb + servlet + tomcat + html + css 2、需求说明 (1)设计一个商品展示html页面 (2)点击“添加到购物车”这一超链接后跳转到一个Servlet,在该Servlet中...
本项目是基于Java的JavaWeb学习之Servlet设计源码,共有40个文件,包括15个XML文件、12个Java文件等。系统旨在为学习JavaWeb的学生提供一个Servlet的实践平台,涵盖了Servlet的基本概念和应用场景。项目的设计注重...
在JavaWeb开发中,Servlet是核心组件之一,用于处理HTTP请求和响应。ServletContext接口是Servlet API中的一个重要组成部分,它提供了服务器与应用之间的全局信息共享和通信能力。本篇文章将详细探讨如何通过...
JavaWeb Servlet 基础教程 http原理, bs架构和cs架构, servlet原理, tomcat的部署
在本项目中,"javaweb(servlet)+hibernate实现登陆注册增删改查简单案列",我们探讨的是如何利用Java Web技术栈,包括Servlet、Hibernate以及MySQL数据库,来构建一个完整的Web应用。这个应用的核心功能是用户注册...
Servlet是JavaWeb开发中的核心组件,它是一种服务器端的程序,用于处理来自客户端的请求并生成动态内容。Servlet并不是一个具体的类,而是一个接口,它定义了服务器与Servlet之间的交互方式。任何实现了Servlet接口...
在Java Web开发中,Servlet是核心组件之一,用于处理HTTP请求和响应。"没用使用任何框架的javaWeb 纯servlet demo"项目展示了如何在没有依赖任何框架(如Spring)的情况下,纯靠Servlet技术构建一个简单的Web应用...