经典Servlet+JSP+JavaBean开发模式(MVC)原理与创建工程

经典Servlet+JSP+JavaBean开发模式(MVC)原理与创建工程

首先介绍MVC:

M:model层,实现系统的业务逻辑,即javaBean

V:view层,负责与用户交互,即在界面展示,比如html,jsp

C:control层,是model层与View层之间的桥梁,它可介绍来自view层传来的请求分发给model层,然后再接收model的返回数据并选择恰当的视图给view层,让用户看到。

在别人的博客上copy了张图,很形象啊!

经典Servlet+JSP+JavaBean开发模式(MVC)原理与创建工程

上图很形象的说明了servlet的MVC模式的运行原理。浏览器发送请求到jsp,所有的请求都会给servlet来处理,servlet通过对javaBean,即核心的model处理,得到处理结果,在返回给view层的jsp页面,jsp页面返回给浏览器最后的html网页。

其次,从图中可以看出model层关联前端和后台,是servlet的核心部分。

下面,用eclipse建一个最简单的servlet模式工程。

经典Servlet+JSP+JavaBean开发模式(MVC)原理与创建工程

在eclipse的javaEE开发视图模式下,找到Project explorer 框,如上图,右键new–>选择Dynamic Web Project(动态web工程):

经典Servlet+JSP+JavaBean开发模式(MVC)原理与创建工程

填写工程名,版本选2.5  ,tomcat选5,或6都行。别太低。Next–》

经典Servlet+JSP+JavaBean开发模式(MVC)原理与创建工程

然后下一步,再出现一个视图,再直接finish就行了。

建好之后就有以下界面:

经典Servlet+JSP+JavaBean开发模式(MVC)原理与创建工程

eclipse会给我们建好需要的文件夹,想webContent就是知道本地web工程的根文件夹。

完了之后,打开web-inf下的web.xml:

经典Servlet+JSP+JavaBean开发模式(MVC)原理与创建工程

看上图的xml文件,标签<welcom-file-list>的意思是“欢迎文件集合‘想当与一个工程的首页,当启动工程后会进入到统一的Servlet,负责统一的中转,正如本文图一所示,首先找到<welcom-file-list>下的文件,到前端显示,这里在上上图中可以看到,小编在WebContent目录下建了一个index.jsp页面,在<body>标签中写了个success。这里注意的是,如果在index中输入中文字符,保存时会显示是否保存为utf-8格式。这里呢,先选择取消,然后在jsp文件中修改:

经典Servlet+JSP+JavaBean开发模式(MVC)原理与创建工程

将所有的charset的字符设置成utf-8格式,保存,最后启动tomcat。

经典Servlet+JSP+JavaBean开发模式(MVC)原理与创建工程

在流量器中输入:http://localhost:8080/Servlet/

会有:经典Servlet+JSP+JavaBean开发模式(MVC)原理与创建工程

这样一个简单的Servlet模式的工程就建好了。

接下来如果想更深一步的了解mvc工资模式可以看如下:

在index.jsp中增加了两个链接,上面是直接跳转。下面要通过servlet控制器分发。

经典Servlet+JSP+JavaBean开发模式(MVC)原理与创建工程

这个是跳转后的second.jsp页面

经典Servlet+JSP+JavaBean开发模式(MVC)原理与创建工程

启动工程后,在页面点击index的第二个链接,进入到servlet分发器的xml中,找到first,进入到Servlet.First这个类。

经典Servlet+JSP+JavaBean开发模式(MVC)原理与创建工程

在下图的First类中,转发到second.jsp页面。

经典Servlet+JSP+JavaBean开发模式(MVC)原理与创建工程

代码部分:

package servlet;

import java.io.IOException;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class First extends HttpServlet{
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
	ServletContext servletContext = getServletContext();
	RequestDispatcher dispatcher = servletContext.//直接转发到second页面
			getRequestDispatcher("/second.jsp");
	dispatcher.forward(request, response);
	}
}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/106310.html原文链接:https://javaforall.net

(0)
上一篇 2021年7月17日 下午10:00
下一篇 2021年7月18日 上午8:00


相关推荐

  • 01_ElasticSearch学习笔记

    01_ElasticSearch学习笔记

    2021年7月11日
    85
  • 监督学习、无监督学习和半监督学习区别

    监督学习、无监督学习和半监督学习区别1 概念 1 1 监督学习 数据集有输入和输出数据 通过已有的一部分输入数据与输出数据之间的相应关系 生成一个函数 将输入映射到合适的输出 比如分类 1 2 无监督学习 数据集中只有输入 直接对输入数据集进行建模 比如聚类 1 3 半监督学习 综合利用有类标的数据和没有类标的数据 来生成合适的分类函数 2 类别 2 1 监督学习分为分类 classificati 和回归 regression

    2026年3月17日
    2
  • python+pycharm+pyqt5安装教程「建议收藏」

    python+pycharm+pyqt5安装教程「建议收藏」本文描述Windows系统下如何安装Python+PyCharm+PyQt5,并通过PyQt5采用两种方式设计GUI界面:1.直接使用代码设计界面2.先使用QtDesigner进行可视化设计,然后将生成的.ui文件转换成.py文件安装Python+PyCharm+PyQt51、安装Python访问官网https://www.python.org/,下载并安装你的目标Python版本。2、安装PyQt51)进入cmd界面。执行命令pipinstallpyqt5pyq

    2022年8月25日
    10
  • Java程序员,你一定需要了解的六款大数据采集平台

    Java程序员,你一定需要了解的六款大数据采集平台随着大数据越来越被重视,数据采集的挑战变的尤为突出。今天为大家介绍几款数据采集平台: ApacheFlume Fluentd Logstash Chukwa Scribe SplunkForwarder 大数据平台与数据采集任何完整的大数据平台,一般包括以下的几个过程: 数据采集 数据存储 数据处理 …

    2022年6月6日
    127
  • gdfgd_gdaebfc

    gdfgd_gdaebfc@TOC欢迎使用Markdown编辑器你好!这是你第一次使用Markdown编辑器所展示的欢迎页。如果你想学习如何使用Markdown编辑器,可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。新的改变我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:全新的界面设计,将会带来全…

    2022年4月20日
    60
  • MOS管相关知识

    MOS管相关知识mos管相关知识

    2022年6月21日
    68

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号