JSP+JavaBean两层结构的开发应该是比较熟悉的,也比较好理解。
但是有一点必须要清楚就是用户通过浏览器来发送网页的请求,此请求到达服务器后在服务器端查找对应的网页,如果是首次请求(第二次就不用解释执行了,即JSP页面放入服务器后,当第一次用户请求时,会解释成servlet类文件,以后用户请求这个JSP页面就可以直接运行这个servlet类了),对于JSP来说要生成Servlet,然后通过Servlet引擎来执行Servlet,把调用JavaBean的结果嵌入到页面中返回给用户的浏览器。
JSP+JavaBean+Servlet三层结构的实质是多了一个Controller:Servlet来分发客户端浏览器的请求。如果把起控制器作用的Servlet的作用理解为对客户端的请求进行预处理对理解Servlet将有很大的帮助。通过web.xml配置文件可以找到用户请求和特定的Servlet的对应关系,每个Servlet都有一个特定的Servlet对象与之对应,所以说处理用户请求的就是一个继承自HttpServlet的Servlet对象。
<!-- JSPC servlet mappings start -->
<servlet>
<servlet-name>ms1</servlet-name>
<servlet-class>news.FirstAction</servlet-class>
</servlet>
<servlet>
<servlet-name>ms2</servlet-name>
<servlet-class>news.DetailAction</servlet-class>
</servlet>
<!-- JSPC servlet mappings end -->
<servlet-mapping>
<servlet-name>ms1</servlet-name>
<url-pattern>/newsmain</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>ms2</servlet-name>
<url-pattern>/newsDetail</url-pattern>
</servlet-mapping>
如上面所示的摘自web.xml的一段配置servlet,第一部分主要用来配置Servlet与具体的Servlet对象关联,即名为xx的servlet与哪个类对应,第二部分主要用来配置请求由哪个Servlet处理,Servlet名字的关联,处理请求就与具体Servlet处理对象关联起来,比如说,客户端浏览器发来/newsmain的请求,它由ms1 servlet进行处理,通过ms1就能找到相对应的serlet对象news.FirstAction,即/newsmain->ms1->news.FirstAction,这也就是配置文件的意义所在。到现在懂得了用户/newsmain请求会被news.FirstAction类的对象进行处理,所以说,要看懂程序就要看懂FirstAction的作用是什么就行了。比如说下面是FirstAction的一个实现。
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
public final class FirstAction extends HttpServlet {
protected void service(HttpServletRequest req, HttpServletResponse resp)throws ServletException, IOException {
DB db = new DB();
HttpSession session = req.getSession();
try {
session.setAttribute(Constants.NEWS_LIST_KEY, News.SearchNewsTitle(db));
} catch (Exception e) {
e.printStackTrace();
}
db.close();
String target = "/P43_News/newsMain.jsp";
resp.sendRedirect(target);
}
}
通过这个实现可以看到,当服务器收到客户端请求执行News.SearchNewsTitle(db)的操作,然后把返回值通过session.setAttribute放到session里,然后通过resp.sendRedirect(target)间接转移到newsMain.jsp,这样在newsMain.jsp里通过session.getAttribute函数就可以得到在存储在session里的对应值。
回过头来就容易看出JSP+JavaBean两层结构和JSP+JavaBean+Servlet三层结构的不同了,两层结构必须把预处理放在JSP中进行,比如说News.SearchNewsTitle(db),三层结构先把预处理在Servlet里进行了,然后相当于把这个处理结果通过Session返回给JSP,让JSP更关注于界面的显示。
分享到:
相关推荐
总结起来,JSP+JavaBean+Servlet的工作原理是一个典型的Web应用程序开发模型,通过合理的分工,实现了高效、可维护的动态网站开发。在实际应用中,开发者通常会结合其他框架,如Spring MVC,进一步提升开发效率和...
本实例将详细讲解如何利用JavaServer Pages (JSP)、Servlet、JavaBean以及Java Database Connectivity (JDBC) 来实现这样一个简单的登录功能。 **一、JSP(JavaServer Pages)** JSP是Java的一种动态网页技术,允许...
开发者可以将JavaBean实例化并注入到JSP或Servlet中,以处理请求和响应,例如处理用户的登录验证、购物车操作等。 **Servlet** Servlet是Java平台上的服务器端程序,用于扩展Web服务器的功能。在本项目中,Servlet...
《基于JSP+JavaBean+Servlet模式的图书管理系统的研究与实现》 图书管理系统是信息化建设中的重要组成部分,它能够高效地管理和检索图书信息,为图书馆的日常运营提供便利。本项目采用经典的JSP(JavaServer Pages...
JSP+JavaBean+Servlet三层结构的实质是多了一个Controller:Servlet来分发客户端浏览器的请求。如果把起控制器作用的Servlet的作用理解为对客户端的请求进行预处理对理解Servlet将有很大的帮助。通过web.XML配置文件...
总的来说,"JSP+Servlet+JavaBean的新闻发布系统"是一个典型的J2EE应用实例,它结合了多种技术,展示了如何利用Java技术栈构建一个完整的Web应用。这个项目不仅适合初学者学习,也是有经验的开发者回顾基础知识的好...
JavaBean可以被JSP和Servlet方便地实例化和调用,实现了业务逻辑和视图的解耦。 MySQL是这个系统选用的关系型数据库管理系统,用于存储库存相关的所有数据。它具有高可靠性、高性能和易用性,能够处理大量的并发...
在"Jsp+Servlet+JavaBean实例"中,这三个技术的结合通常体现在以下方面: 1. **视图(View)**: JSP文件作为用户界面,展示数据并接受用户的输入。开发者可以在JSP页面中使用EL(Expression Language)和JSTL(Java...
《JSP+JavaBean+Servlet开发的CD管理系统详解》 在Web开发领域,JSP(JavaServer Pages)、JavaBean和Servlet是三个核心组件,它们共同构建了动态网站的基础架构。本篇文章将深入探讨如何利用这三者来开发一个实用...
综上所述,基于JSP+Servlet+JavaBean的图书管理系统是一个典型的Web应用实例,它融合了前端展示、后端处理和数据存储等多个环节,为学习Java Web开发提供了实践平台。通过这个项目,开发者可以深入理解Web开发的基本...
在初始化阶段,Servlet实例化并加载配置;服务阶段,Servlet处理请求;销毁阶段,释放资源。 3. 请求处理:用户发送POST请求到Servlet,Servlet解析请求参数,调用JavaBean方法处理数据,然后将结果转发到JSP页面...
总结起来,这个"jsp+JavaBean+Servlet开发的留言板"项目是一个典型的Web开发实例,涵盖了前端展示(JSP)、后端逻辑(JavaBean)和请求处理(Servlet)的关键技术,以及与数据库的交互。通过学习和实践这个项目,...
这是一个简单的搜索实例,输入学生的生日范围,在列表中显示该范围内的所有学生的信息,没有分页处理,其中jdbc部分没有做异常处理,只是想让初学者有个参考,我是从.net转java的,才学了几天,大家有什么意见或建议...
【JSP源码——jsp+servlet+javaBean实现MVC】是基于Java Web技术构建的一种经典MVC(Model-View-Controller)模式的应用实例。在Web开发中,MVC模式被广泛采用,它将应用程序的业务逻辑、数据处理和用户界面分离,...
《jsp+javaBean+servlet+access应用实例》 在IT领域,Web开发是不可或缺的一部分,而JSP(JavaServer Pages)、JavaBean、Servlet以及Access数据库的结合应用则为构建动态Web应用程序提供了一种强大且灵活的方式。...
在IT行业中,Web开发是至关重要的领域,而JSP(JavaServer Pages)、JavaBean和Servlet是构建动态Web应用的关键技术。本教程将深入探讨如何在实际项目中有效地使用这些技术。 首先,JSP是一种用于创建动态网页的...
**正文** 本项目是一个基于JSP、JavaBean和Servlet技术构建的酒店管理系统,它展示了如何在Web开发...通过对源代码的阅读和调试,可以深入理解JSP、JavaBean和Servlet的协同工作方式,以及如何构建一个实际的Web应用。
`jsp`用于展示页面,`servlet`处理业务逻辑,`javabean`则作为数据传输对象,三者协同工作,可以实现强大的后端功能,包括对数据的增删改查操作。下面将详细解释这三个技术以及它们在实际应用中的角色。 1. **JSP ...
总的来说,这个项目展示了如何利用JSP、Servlet和JavaBean的协同工作来实现对MySQL数据库的访问。这种分层架构使得代码更易于维护和扩展,同时也遵循了MVC(Model-View-Controller)设计模式的思想,即模型处理数据...