本文实例讲述了JSP使用Servlet作为控制器实现MVC模式的方法。分享给大家供大家参考。具体如下: 一、目标:
① 初步理解MVC模式;
② 掌握Servlet的编写;
③ 使用MVC模式完成登录功能。 二、主要内容:
① 分析JSP+JavaBean模式存在的问题,并介绍JSP+JavaBean+Servlet模式,以及和MVC模式的关系;
② 通过简单实例介绍Servlet的编写、配置和运行;
③ 采用Servlet完成登录功能的控制。
1、 JSP+JavaBean这种模式存在的问题?
JSP的强大之处在与人交互,也就是完成输入输出的功能。但是在JSP+JavaBean这种模式中,JSP不仅仅完成输入输出的功能,还完成系统的控制功能(接收用户请求,调用JavaBean,然后根据调用的结果,选择界面对用户进行响应)。所以在JSP发展的第三个阶段中,把控制功能从JSP中分离出来,使用Servlet来实现,形成JSP+JavaBean+Servlet这种模式,JSP仅仅完成输入和输出,JavaBean完成处理,而Servlet完成控制。
2、 JSP+JavaBean+Servlet
JSP负责输入输出,JavaBean负责实现业务逻辑(功能),Servlet完成控制。这种模式通常也被认为是MVC模式的一种实现。MVC模式把系统的业务逻辑、控制和输入输出进行分离,在开发应用的时候,可以单独考虑某一部分,简化开发。
V,表示视图,与人交户的部分,M,表示模型,完成功能,C,表示控制器。JSP通常充当视图,JavaBean是模型,Servlet作为控制器。
3、 什么是Servlet
Servlet也是一种Web组件,从完成的功能上来说,与JSP是相同的。Servlet是纯Java文件,是特殊的Java类。
Servlet与JavaBean有什么区别呢?都是Java类,但是Serlvet可以接收用户的请求,客户端可以直接访问。但是JavaBean不能被客户端直接访问,必须由JSP或者其他的Java文件(包括Servlet)来调用。
4、 实例:HelloServlet
下面是一个Servlet,完成的功能是输出一句话"Servlet测试!"。
1)文件编写
package servlet;
// Servlet开发所需要的包
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class HelloServlet extends HttpServlet
{
public void doGet(HttpServletRequest request,HttpServletResponse response)
throw IOException,ServletException
{
response.setContentType("text/html;charset=gb2312");
PrintWriter out = response.getWriter();
out.print("Servlet测试!");
}
}