dedecms织梦内容管理系统    
首页 | java | C/C++ | PHP | 操作系统 | ajax | 脚本编程 | 安全技术 | 本站下载页 | 专题 | QQ群 | 测试中心 | 会员中心 | 积分规则
  当前位置:主页>java>jsp>文章内容
JSP入门实例教程13-MVC模式
来源: 作者:

什么是mvc模式MVC模式"Model-View-Controller"的缩写,中文翻译为"模式-视图-控制器"MVC应用程序总是由这三个部分组成。Event(事件)导致Controller改变ModelView,或者同时改变两者。只要Controller改变了Models的数据或者属性,所有依赖的View都会自动更新。似的,只要Controller改变了ViewView会从潜在的Model中获取数据来刷新自己。MVC模式最早是smalltalk语言研究团提出的,应用于用户交互应用程序中。smalltalk语言和java语言有很多相似性,都是面向对象语言,很自然的SUNpetstore(宠物店)事例应用程序中就推荐MVC模式作为开发Web应用的架构模式。MVC英文即Model-View-Controller,即把一个应用的输入、处理、输出流程按照ModelViewController的方式进行分离,这样一个应用被分成三个层——模型层、视图层、控制层。

上述概念说的很抽象,在很早以前大家在刚刚使用jsp时,发现它用HTML代替了,servlet那些复杂的输出。可是后来发现JSP太多了,他调用那些javabean 容易找不到,不好管理。所以又用javabean封装数据Mservlet处理逻辑CJSP的自定义标签是使视图分离V

模型、视图与控制器的分离,使得一个模型可以具有多个显示视图。如果用户通过某个视图的控制器改变了模型的数据,所有其它依赖于这些数据的视图都应 反映到这些变化。因此,无论何时发生了何种数据变化,控制器都会将变化通知所有的视图,导致显示的更新。这实际上是一种模型的变化-传播机制。模型、视 图、控制器三者之间的关系和各自的主要功能,如图1所示。

  

  我给大家写个一个简单的mvc模式的例子,用jsp作为视图。Servlet作为控制器,处理客户端传来的请求。Javabean作为模型。封装用户提交过来的数据。做一个用户登录程序,一般原理是客户请求jsp页面,javabean从数据库的到的数据和客户端jsp传来的数据进行匹配,看看有没有这个数据,如果没有就显示登陆失败,有的话就显示登陆成功。我们首先在tomcat安装目录webapps下创建一个mvc文件夹,在这个文件夹下有WEB—INFfail.jsp,Login.jsp,success.jsp,WEB—INF文件夹下有classes文件夹,在次下有login,在login下有两个文件LoginServlet.javaLoginBean.java.WEB—INF下面还有lib

Logi nBean.java

package login;

import javax.jms.Session;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpSession;

public class LoginBean {

     public String login(HttpServletRequest request)

                    {

            String username = request.getParameter("username");

            String password1 = request.getParameter("password");

         if (username.equals("java") && password1.equals("java")) {

                   HttpSession session = request.getSession();

                   session.setAttribute(username, username);

                   session.setAttribute("logintime", new java.util.Date()

                                 .toLocaleString());

                   return "登陆成功";

            } else {

                   return "登陆失败";}}}

loginServlet.java

package login;

 

import java.io.IOException;

import java.io.PrintWriter;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

 

public class LoginServlet extends HttpServlet {

public void doPost(HttpServletRequest request, HttpServletResponse response)

                   throws ServletException, IOException {

            request.setCharacterEncoding("utf-8");

            response.setContentType("text/html");

            response.setCharacterEncoding("utf-8");

String rs = new LoginBean().login(request);

if (rs.equals("登陆成功")) {

                   request.getRequestDispatcher("/success.html").forward(request,

                                 response);// 跳转 把请求和响应转发给页面

                   // System.out.println("登陆成功");

            } else {

                   request.getRequestDispatcher("/fail.html").forward(request,

                                 response);

                   // System.out.println("denglu");

            }}}

login.jsp可以使用jsp的行为标签<jsp:setProperty />来给loginbean.java赋值。

最后我们在浏览器的地址栏里敲入http://localhost:8080/mvc/Login.jsp。如果你输入正确的用户和密码才能显示成功登陆,否则登录失败.

 我们所有的jsp教程就讲完了,谢谢大家耐心的阅读。

 


上一篇:JSTL操作数据库示例   下一篇:JSP入门实例教程12-jstl处理数据库
[收藏] [推荐] [评论(1条)] [返回顶部] [打印本页] [关闭窗口]  
用户名: 新注册) 密码: 匿名评论
评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
 §最新评论
  热点文章
·JSP入门实例教程
·什么是Servlet
·JSP常用内置对象使用说明
·JSP自定义标签由浅到深详细讲解
·JSP自定义标签由浅到深详细讲解
·Java Servlet技术
·Javax.servlet API的特征
·一个简单的jsp注册页面
·JSTL操作数据库示例
·JSP入门实例教程12-jstl处理数
·JSP入门实例教程11-jstl处理xml
·JSP入门实例教程10-jstl国际化
  相关文章
·JSTL操作数据库示例
·JSP入门实例教程12-jstl处理数
·JSP入门实例教程11-jstl处理xml
·JSP入门实例教程10-jstl国际化
·JSP入门实例教程9-jsp的权限设置
·JSP入门实例教程8-jsp错误处理
·JSP入门实例教程7-JSTL+EL语言
·JSP入门实例教程6-jsp自定义标签
·JSP入门实例教程5-简单的动作标
·JSP入门实例教程4-jsp内置对象
·JSP入门实例教程3-jsp基本语法
·JSP入门实例教程2(2)-jsp和servl
  相关信息
copy right @ 百家拳软件项目研究室 2007 辽ICP备07011763