什么是MVC?用一个具体的案例来详谈mvc

详解MVC开发模式

一、MVC的设计模式的由来
JSP Model1是JavaWeb早期的模型,程序的Java代码和HTML强藕合在一起,导致视图和逻辑无法分离,导致程序的可读性很差,代码调试以及后期维护都带来了很大的问题.

总之我认为Model完全就是jsp处理所有的问题
Model1第一代:
在这里插入图片描述
Model1第二代,把业务逻辑放到JavaBean中去了:
在这里插入图片描述
Jsp Model2
在Jsp Model2时代,Jsp视为View,Servlet视为Controller,JavaBean为Model,其中Servlet作为Jsp和JavaBean的纽带
适合很多人合作开发大型的项目,各司其职,有利于开发的分工,可以使项目的需求更大,同时对开发人员的要求也随之变高了
在这里插入图片描述
二,什么是JavaBean和内省
JavaBean的特点
1.这个类有无参的构造方法
2.属性私有化
3.私有化的属性必须通过public类型的方法暴露给其他的程序,并且方法的命名也符合特定的规范
JavaBean的作用:
通常用来封装数据,对应遵循以上特点的写法的,其他的程序可以通过反射实例化技术实例化JavaBean,从中获取JavaBean的属性,进而获取其数据
内省技术:
内省技术是基于反射技术实现的,通过属性构造器来获取属性的对应的getter和setter方法,然后通过反射机制来调用方法,Apache组织开发了一套基于JavaBean的API,因此在这套开发中,使用BeanUtils的使用,以简化程序代码的实现

案例
编写注册页面,完成注册页面的校验,完成用户的注册和登录功能

项目需求分析:
技术:采用servlet + JavaBean +JSP
封装数据
BeanUtils
JSP显示
JSTL + JSP
解析xml
DOM4J解析xml

//项目流程
首先环境准备
新建web项目,导入相对于jar包
创建数据库,在磁盘上创建一个user.xml文件
包结构:

在这里插入图片描述
注册界面的实现,主要涉及form表单的提交以及前台数据的校验

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>注册界面</title>
</head>
   <script type="text/javascript">
      //完成数据的校验 
      <%-- 前台数据的校验,完成一些不合适的数据的提交   --%>
      function run(){  
	       //用户名不能为空
	       var username = document.form1.username.value;
	       if(username == "" || username.length == 0){
	    	   alert("用户名不存在");
	    	   return false;
	       }
	       //密码不能为空,不能少于6位
	       var password = document.form1.password.value;
	       if(password == "" || password.length < 6){
	    	   alert("密码至少6位");
	    	   return false;
	       }
	       //确认密码和密码保持一致
	       var repassword = document.form1.repassword.value;
	       if(repassword == "" || repassword != password){
	    	   alert("两次密码输入的不一致");
	    	   return false;
	       }
	       //昵称不能为空
	       var nickname = document.form1.nickname.value;
	       if(nickname == "" || nickname.length == 0){
	    	   alert("昵称不能为空");
	    	   return false;
	       }
	       //邮箱正确
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值