您的位置:首页 > 编程语言 > Java开发

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

2017-09-09 17:52 666 查看
首先介绍MVC:

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

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

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

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



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

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

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



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



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



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

建好之后就有以下界面:



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

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



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



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



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

会有:


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

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

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



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



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



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



代码部分:

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);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: