经典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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • LabVIEW入门教程

    LabVIEW从初学到入门LabVIEW简介如何入门LabVIEW我该去哪找相应学习资源LabVIEW简介LabVIEW是一款图形化编程语言(G语言),由美国国家仪器研制(NationalInstruments,NI)研制,被称为虚拟仪器(VirtualInstrument,VI)。它提供了整套的工具用来对信号进行采集、分析、保存及后续的处理。优点:界面美观程序模块化强与设备交…

    2022年4月4日
    47
  • mysql 1146 错误处理

    mysql 1146 错误处理在进行mysql 相关的备份,会出现1146错误。问题出现是因为之前把   mysql/data/ibdata1,ib_logfile0,ib_logfile1,ib_logfile2 文件删除了,mysql重启之后会自动生成这些文件的。但是之前的innodb引擎,就不能再访问了。特别注意一下: 删除ibdata1 文件的时候,必须要记得  这5张i…

    2022年6月12日
    53
  • org.apache.jasperException(jasper是谁)

    该错误为所要转跳的jsp页面包含语句错误!org.apache.jasper.JasperException:Theabsoluteuri:http://java.sun.com/jsp/jstl/corecannotberesolvedineitherweb.xmlorthejarfilesdeployedwiththisapplication  

    2022年4月16日
    43
  • FPGA之SDRAM控制器设计(一)

    MT48LC128M4A2–32Megx4x4banks是512MSRAM,总体概述如下图分别从上电初始化,刷新,写,读四个部分进行设计,此外还包含主控状态机,一个顶层。1:上电初始化整体架构:从控制器到要控制的芯片可以分成20位的bus总线,时钟线sdr_clk,数据总线DQ以及DQM。上电时候主要是对bus总线的高4位也就是sdr_cmd进行配置。也就是要做的第一步,比较简单就是对sdr_cmd进行几次操作。其中注意在逻辑设计时候输出的sdr_clk时钟要和..

    2022年4月13日
    47
  • ASP.NET跳转网页的三种方法的比较(转+修)

    ASP.NET跳转网页的三种方法的比较(转+修)方法1response.redirect这个跳转页面的方法跳转的速度不快,因为它要走2个来回(2次postback),但他可以跳转到任何页面,没有站点页面限制(即可以由雅虎跳到新浪),同时不能跳过登录保护。但速度慢是其最大缺陷!redirect跳转机制:首先是发送一个http请求到客户端,通知需要跳转到新页面,然后客户端在发送跳转请求到服务器端。需要注意的是跳转后内部空间保存的所…

    2022年7月20日
    13
  • select poll使用

    select poll使用

    2021年11月14日
    41

发表回复

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

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