*.jsp--->*.java--->*.class文件
servlet生命周期:
装载---->创建---->
----->初始化----->服务----->销毁--->
卸载
1.servlet本身只关心 初始化,服务,销毁三个操作
1。初始化:正常情况下只有一次初始化,但是如果一个servlet长时间不使用之后再使用,则会重新初始化
2。服务:一个servlet肯定会服务多次,如果一个servlet长时间不服务,则认为没用了,等待销毁。
3。正常情况下也只有一次,容器关闭时销毁,当然,如果一个servlet长时间不使用,则也会被自动销毁。
和人的生命周期一致:孕育生命----出生---成长,工作---死亡----销毁资料
如果一个人长时间消失,则认为死亡,重新再人间复活( 黑户)
初始化:
public void init();
public void init(ServletConfig config);
服务:
public abstract void service(ServletRequest req,ServletResponse);
一般情况下不会直接复写此方法,而复写
public void doGet(HttpServletRequest req,HttpServletResponse resp);
public void doPost(HttpServletRequest req,HttpServletResponse resp);
销毁:
public void destroy();
2.写程序看servlet生命周期
public class LifeCycleServlet extends HttpServlet{
public void init(){
System.out.println("************初始化**************")
}
public void doGet(HttpServletRequest req,HttpServletResponse resp){
System.out.println("***********服务***************")
}
public void doPost(HttpServletRequest req,HttpServletResponse resp){
this.doGet(req,resp);
}
public void destroy(){
System.out.println("************销毁***************");
try{
Thread.sleep(5000); //为了看到销毁的效果
}catch(Exception e){
}
}
}
<servlet>
<servlet-name>life</servlet-name>
<servlet-class>com.zhe.LifeServlet</servlet-class>
<init-param>
<param-name>driver</param-name>
<param-value>oracle.jdbc.driver.OracleDriver</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>life</servlet-name>
<url-pattern>/life</url-pattern>
</servlet-mapping>
如果servlet中存在init和init(ServletConfig config)
那么会调用init(ServletConfig config);//因为他干的事情多些
如果我们复写了service(HttpServletRequest,HttpServletResponse);
那么doGet和doPost将不会被执行了,因为所有的doXXX()方法都是在父类中(HttpServlet)使用service方法进行区分的. 容器----->services----->各个子类的doXXX()------这是一个典型的模板操作
3.默认情况下servlet只在第一次运行的时候初始化,也可以经过配置,让其在容器启动的时候就可以进行初始化,修改web.xml文件即可。
<servlet>
<servlet-name>life</servlet-name>
<servlet-class>com.zhe.LifeServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
4.使用Servlet取得其他的常用对象
4.1取得Session对象
HttpServletRequest中有两个方法
1。 public HttpSession getSession();//表示直接取得当前的session
2.public HttpSession getSession(boolean create);//取得session,如果session不存在则创建 create = true
4.2取得application对象
就是和在jsp中一样的,使用 getServletContext()
ServletContext app = super.getServletContext();
System.out.println(app.getRealPath("/"));
5.Servlet跳转
客户端跳转与属性传递
req.getSession().setAttribute("name","zwz");
resp.sendRedirect("aa.jsp");
但是如果name只传递一次,那么使用session太浪费空间了。。。。
这时我们应该使用request来设置属性,但是使用request来设置属性的话,必须使用服务器端跳转才行,因为要保证是同一个request
RequestDispatcher接口可以完成
RequestDispathcer rd = req.getRequestDispatcher("aa.jsp");
rd.forward(req,resp); //<jsp:forward/>就是封装了这段代码
分享到:
相关推荐
1. **MVC模式** - JSP和Servlet通常结合使用,遵循Model-View-Controller (MVC) 设计模式,其中Servlet处理请求并更新模型,JSP负责呈现视图。 2. **生命周期** - 了解Servlet和JSP的生命周期对于优化性能至关重要...
接着,该论文介绍了开发工具,包括面向对象程序设计和关系数据库管理系统等。 在第二章中,该论文详细介绍了javabean-jsp-servlet框架的开发方法和工具,包括javabean的概念、jsp的使用和servlet的应用等。该章节还...
在IT领域,JSP(JavaServer Pages)、Servlet和JavaBean是构建Web应用程序的三大核心技术,尤其在企业级应用开发中扮演着重要角色。本系统——"Jsp-Servlet-JavaBean企业事务管理系统"是一个基于这些技术的实践案例...
《基于Java-JSP-Servlet-Tomcat-SQLServer的社区医疗管理系统详解》 社区医疗管理系统是一种信息化解决方案,它旨在提高医疗服务的效率和质量,优化资源配置,满足城市社区居民的医疗需求。本文将深入探讨该系统的...
Servlet API和JSP API是Java Web开发中的两个关键组件,它们是Java服务器页面(JSP)和Servlet技术的基础。这两个库通常以`.jar`文件的形式包含在Web应用程序的类路径中,以支持服务器端的动态内容处理。 Servlet ...
**JSP(JavaServer Pages)和Servlet是Java Web开发中的两个核心技术,它们在构建动态Web应用程序方面发挥着关键作用。本教程将引导你通过Eclipse IDE创建一个基本的JSP-Servlet项目,以便理解这两者如何协同工作。*...
6. **Web应用部署**:`web.xml`是Web应用程序的部署描述符,它定义了Servlet的映射、过滤器、监听器等配置,是Spring Boot等现代框架中的`application.properties`或`application.yml`的前身。`src`目录通常包含Java...
总结来说,“JSP-Servlet 简单mvc模式”项目提供了一个基础的Web应用示例,通过JSP和Servlet实现MVC设计模式,展示了如何处理用户请求,管理业务逻辑,以及生成动态网页。这样的架构有助于提高代码的可读性和可维护...
### 创建一个简单的JSP-Servlet应用程序 #### 一、概述 本文档主要介绍如何构建一个基本的JSP-Servlet Web应用程序。通过本教程,读者将了解JSP与Servlet的基本概念,以及如何结合这两种技术来搭建一个四层架构的...
标题"jsp-servlet-javabean留言本.rar_javabean_jsp_servlet jsp_三层架构_留言本"表明这是一个基于JSP、Servlet和JavaBean技术实现的在线留言本系统。其中,"jsp-servlet-javabean"暗示了这个系统采用了经典的Web...
Servlet-API、JSP-API以及HTML-API是Web开发中不可或缺的部分,它们构成了动态网站开发的基础框架。下面将分别介绍这三个API的详细知识点。 Servlet-API是Java Servlet技术的核心,它定义了服务器端程序如何处理...
5. **分离表现层和业务逻辑**:JSP API鼓励MVC(Model-View-Controller)设计模式,其中JSP作为视图层,Servlet作为控制器,而业务逻辑则封装在JavaBean中。 6. **JSP的注解支持**:JSP 2.1引入了注解,允许直接在...
标题中的"四个jar包commons-io+logging+pool+javax-servlet-jsp-jstl"提到了四个关键的Java库,这些库在开发Java Web应用程序时非常常见。它们分别是Apache Commons IO、Apache Commons Logging、Apache Commons ...
总之,"A00007贵美商城-servlet-JSP-oracle.zip"项目展示了如何使用Servlet、JSP和Oracle数据库构建一个完整的电商应用,涵盖了用户交互、业务处理和数据存储等多个方面,体现了Web开发中的典型技术栈和设计模式。
在Web开发领域,JSP(JavaServer Pages)和Servlet是两种常用的Java技术,它们通常与Model-View-Controller(MVC)设计模式结合,构建动态、数据驱动的Web应用。MVC架构是一种将业务逻辑、数据显示和用户交互分离的...
【标题】"JSP-servlet-struts-sqlserver开发的网上购物商场"揭示了这个项目是基于Java技术栈,利用JSP(JavaServer Pages)、Servlet、Struts框架以及SQL Server数据库构建的一个网上商城系统。这样的系统设计允许...
Servlet是Java Web开发中的核心组件,它是一种服务器端的Java小程序,负责处理客户端(如浏览器)的请求并返回响应。在本系统中,Servlet主要承担业务逻辑处理的角色,如用户登录验证、电影查询、座位选择以及订单...
**JSP(JavaServer Pages)与Servlet是Java Web开发中的两个核心技术,它们在构建动态Web应用程序中发挥着关键作用。本笔记源码深入探讨了两者之间的衔接机制,并提供了清晰易懂的代码示例,旨在帮助开发者更好地...
标题中的“影院订票系统-servlet-jsp-mysql”是一个基于Java Web技术开发的在线影院订票系统的项目。这个系统利用了Servlet、JSP和MySQL数据库来实现其核心功能,如用户管理、影片展示、座位选择和订单处理等。下面...
当Web容器接收到对JSP页面的请求时,会将其转化为一个实现了`javax.servlet.jsp.JspServlet`接口的Servlet类,并生成对应的Java源代码,然后编译为.class文件。这个Servlet处理HTTP请求的方式与普通Servlet相同,但...