jsp 实现的简易mvc模式示例

来源:脚本之家  责任编辑:小易  

通过 数据访问层!再到业务处理层 最后到JSP!

本文实例讲述了jsp 实现的简易mvc模式。分享给大家供大家参考,具体如下:

Buy buyInform = new Buy();String goodsName = req

jsp : java servlet page

http://hi.baidu.com/wzqiajng/item/1efd376ed0288c1d

MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。

最简单的方法是使用struts或jsf等mvc的框架,本身就是一个实现。如果自己实现,比较复杂的就是

示例demo

是有点少改天把我做过的发给你吧。

映射处理

OPPOR9s从2016年10月底开售至今,两个月的出货量笑傲国产手机市场,在2500元档位市场的表现无人能及。相信每个R9s的用户都已经知道它的拍照实力,但还有很多隐藏小功能,平常大家都用过吗?  更全面的联系人设计  以微信为首的即时社交应用已经深入每个人的生活,手机中的一项基本功能——通讯录的意义似乎变得越来越弱。表面上看起来确实如此,但实际上通讯录和微信的存在并不冲突。因为微信终究是网络应用的一种,每个人在不停的变换昵称/头像的同时也在变换“身份”,而能够进入你通讯录的联系人才是更真实的“朋友圈”。那么现在问题来了,你有多久没有关心过你“真实的朋友圈”了?  OPPOR9s的联系人可以

/WEB-INF/web.xml

  从今天开始,手机国内长途和漫游费这项陪伴用户20多年的通信增值费用将成为历史。  8月31日,吉网、吉刻APP记者在采访中了解到,日前,中国移动、中国联通、中国电信宣布自2017年9月1日起全面取消手机用户国内长途费和漫游费(不含港澳台地区),比原计划的10月1日提前一个月完成。  取消手机国内长途和漫游费,国内用户需不需要申请?具体资费是什么?三大运营商也第一时间对外公布。  中国移动表示,此次全面取消手机客户国内电话长途通话费和漫游通话费,国内主叫通话标准按客户现行资费中的本地市话标准收取。  中国联通表示,自2017年9月1日起,中国联通面向所有手机电话用户取消国内长途费和漫游费。国

<?xml version="1.0" encoding="utf-8" ?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5"> <display-name>Test</display-name> <servlet> <servlet-name>indexServlet</servlet-name> <servlet-class> web.app.controller.IndexController </servlet-class> </servlet> <servlet-mapping> <servlet-name>indexServlet</servlet-name> <url-pattern>/index.do</url-pattern> </servlet-mapping> </web-app>

要是真想减肥,要不晚饭就不吃了吧……当然减肥节食也是需要循序渐进的,可以先改变自己的食谱,晚饭怎么清淡怎么来。至于那些高卡路里食物跟甜品食品最好就不要碰了,比如说油炸油腻的,还有烧烤的什么这种那种肉,尤其是特别肥腻的肉类,尽量不要吃,能克制就克制,还有一般年轻人都喜欢图方便省事喜欢吃的夜宵方便面,这个真的是超级无敌的长肉凶手,方便面即食咖喱饭既没有什么营养还有很高的热量,就算不减肥,对健康也是一种隐患。最重要的还是果汁饮料和糖果,特别是碳酸饮料要少喝甚至是不喝,全职牛奶,薯条薯片还有膨化食品零食之类的,饼干也是因为食用香精和色素很多,对想减肥的女生来说也是敌人,啤酒也是大忌,会长肚子上的小肉肉

其中servlet截获浏览器请求,将符合servlet-mapping 中url-pattern 规则的请求交给servlet-mapping中servlet-name 对应的servlet去处理。

随着经济的开展,大家的经济状况越来越好,越来越多的人选择购置汽车,在购置汽车的时分,有全款直接提车和贷款按揭提车两种方式。那么这两种方式到底有什么区别呢,又各有什么特性呢,下面小编就和大家一同看看按揭买车和全款买车。关于这两种不同的购车方式,全款买车就很好了解,好像字面意义,就是一次性给齐一切车款,直接过户提车。另一种按揭买车,则是经过汽车金融公司、银行等机构申请贷款买车,经过按揭的手法,先付首付,剩下的再每月归还,提早具有汽车的运用权。我们先着重讲一下按揭买车。按揭买车这种方式,对汽车厂商,汽车经销商和客户三者都有益处。对汽车厂商来说,按揭买车这种方式能够有效的增加潜在客户。很多人没有方法一

设置好后访问浏览器访问该项目下的index.do会映射给web.app.controller.IndexController 类处理

IndexController.java

package web.app.controller; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @WebServlet("/IndexController") public class IndexController extends HttpServlet { /** * */ private static final long serialVersionUID = -8227194254553105913L; @Override public void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException { try{ response.setCharacterEncoding("utf-8"); response.setContentType("text/html;charset=utf-8"); //response.getWriter().println("success"); request.setAttribute("test","hello world this is class name index controller"); request.getRequestDispatcher("view/index.jsp").forward(request, response);; }catch(Exception e) { System.out.println("error"); e.printStackTrace(); } } }

注释:@Override 覆盖超类中定义的该方法。

所有的servlet类要继承HttpServlet才能处理request请求。

IndexController 处理完成后将生成的数据存储在request作用域中,然后将该request重定向到view/index.jsp

其中doGet 说明的是接受get请求 request 和 response 是请求request 和 响应 response

view/index.jsp

<%@ page language="java" pageEncoding="utf-8" contentType="text/html;charset=utf-8" %> <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>index</title> </head> <body> <p><%=request.getAttribute("test") %></p> </body> </html>

从request作用域中获得后端数据。

实现的简单MVC模式。

希望本文所述对大家jsp程序设计有所帮助。

扩展阅读,根据您访问的内容系统为您准备了以下内容,希望对您有帮助。

使用Jsp和Servlet是如何实现MVC模式的?

我个人最近也在学习这个MVC三层架构原理也遇到了很多的一些疑问,我就把我对MVC模式的认识和你分享下吧,如果说的不对敬请谅解;MVC:M(model层),V(View(界面)层),C(controll(控制器)层);在之前我们在开发的时候比如一个JSP表单请求过来了可能这个表单请求是一个用户名密码登陆验证,直接是在JSP页面中开始写业务逻辑(访问数据的代码),这样呢在界面层和数据库层之间就没有了桥梁,而是直接性的一个线就通过来了,这样界面层的代码将会显示的非常混乱,因为界面层主要是用于显示给用户观看的如果涉及到更多的业务逻辑代码这样效果不好,原因是:因为现在基本上很多公司包括我自己在合肥这家还是比较小的公司里做项目都是前台和后台之分,用不同的人来开发前后台,可能前台都不知道后台写的业务是什么,他只要管理好自己的界面显示就可以了,如果按照上面那种界面层和数据库层直接一个线就来了那么前台在写代码的时候也是相当的麻烦,这个不是重点,但是这个说法也能更明显的来理解,从MVC模式出来了之后,将界面层和业务层之间分开了,而是通过界面层→modle层→数据库层;也就是我们的业务代码单独的放在一个层中用单独定义的类来进行些,被界面层调用,而model层去直接访问数据库然后将结果反映到界面层上去,这样简单的一个MV模式就来了,至于C其实是控制器,它不是完全需要的,只是对于一些大型的请求比如注册产品信息可能字段比较多提交到服务器的数据比较多,这时呢界面层也不是直接的和model层进行打交道,而是界面层先将数据提交给控制器(控制器通常由一个servlet来扮演,因为不需要涉及的界面显示的效果处理的都是提交数据)而后由控制器将数据提交给model层的业务逻辑层,然后又业务层和数据库打交道,不过这些都不是很完全,其实这个model层又分了很多种,比如service(业务层).domain(关系对象映射类).dao(操作数据),还有就是model层和数据库层也不是完全的直接打交道而是通过一个叫ORM框架(对象关系映射文件)的技术去交流,现在ORM框架用的比较火的是hibernate技术,不过这些我不是太懂,只了解这么多,希望对你有帮助;

Jsp 使用MVC模式实现一个简单的登录注册

注意一下你的SQL语句

String codition="select * from member where logname="+logname+" and password="+pw;

1.如果参数是数字、时间等一些特殊类型时,正确

2.如果参数是字符串类型时 要这样

String codition="select * from member where logname='"+logname+"' and password='"+pw"'";加上单引号

联想一下SQL语句的语法规范就很好理解了

如何用jsp,servlet完成一个简单的用户登录的MVC模式设计的实现

首先,你要知道M,V,C分别是什么意思。

M是model,也就是模型,一般都是用javabean来表示,JavaBean有实体类,逻辑业务类两种,例如一个实体类对应数据库的一个表,我们对数据库的操作可以用逻辑类来做。

V是view,是现实显示层,也就是用jsp来做,注意,在jsp中要尽量少用java脚本,这也是我们的追求。

C是controller,也就是控制层,它负责接收由V层发过来的请求,然后根据请求调用JavaBean层的类,然后再将数据返回给页面或者选择跳转到哪个页面。

例如登陆系统,用户从V层看到登陆界面,然后用户填写ID和密码,发送请求,C层接收到请求,根据请求调用M层,查询数据库,如果存在该用户并且密码正确,责跳转到登陆成功页面或者其他的;如果用户名或者密码不存在或错误,就跳转到登陆失败提示页面。

呵呵,我已经尽量简洁的说出了MVC模式的开发,当然,如果去看书,肯定会比较详细的。

记得我刚开始学的时候也是什么也不懂,用多了就明白了。

记住,概念固然重要,但是,更重要的是实践,多敲代码才是最快的学习方法。

希望我的回答可以给你带来帮助,加油!

如下图所示:

如何实现MVC模式

最简单的方法是使用struts或jsf等mvc的框架,本身就是一个实现。如果自己实现,比较复杂的就是要自己写一个总控制器,接受所有用户的请求,进行分发给其他servlet或直接进行页面跳转。不建议自己实现,建议使用一个mvc框架,然后搞明白他的生命周期和原理,再去看框架总控制器的源代码,这样比较好。

原理:

jsp发展经历了两个模型时代,jsp模型一时代是把代码都写在jsp页面上,用户访问jsp页面时,jsp页面来对数据库进行操作并返回值到jsp页面,这样第一不好维护,第二安全性不高,第三代码结构不清晰,第四重用性不高。于是就有了jsp模型二时代,人们将所有的页面请求交给一个servlet控制器来接受,然后进行分发,由该servlet来决定调用其他servlet访问数据库还是进行页面跳转,这个servelt就是MVC中的C,struts中好像叫ActionServlet,Jsf中叫FacesServelt,web.xml中配置的就是总servlet控制器,为了更好的分层,重用,降低依赖性,就有了MVC,由M层接受和绑定用户的数据,V层进行展现,C层进行控制。

目前主流的开发模式是四层开发模式:界面层(page)+动作处理层(action)+业务逻辑层(service)+数据访问层(dao),page层用于展现页面,action层用于捕获用户事件并调用service层处理业务逻辑,service要处理业务逻辑肯定就要对数据库进行增删改查,拼接HQL语句,然后调用dao层对数据库进行操作,hibernate完成的就是DAO层。但是这样一来action层对service层产生了依赖,因为要创建一个service接口的引用,service层对dao层产生了依赖,就是说实例化一个action层的对象,同时要至少实例化一个service层和至少实例化一个dao层,于是spring的IOC就可以起作用了,就可以降低各层之间的依赖。将各层做为接口对象实例配置到spring中,降低依赖。

按照MVC设计模式,JSP用于实现于哪一个?

jsp对应mvc的v层,就是视图层,用来显示用户界面

servlet是万能的,你想要它做什么都可以,jsp编译后也是生成servlet,不过,一般来说用来做mvc的c层,就是控制层,用来调用不同的业务逻辑

JaveBean对应mvc的m层,就是数据层,负责根据业务逻辑处理数据

  • 本文相关:
  • jsp使用mvc模式完成删除和修改功能实例详解
  • jsp使用servlet作为控制器实现mvc模式实例详解
  • springmvc如何将controller中数据传递到jsp页面
  • springmvc如何将controller中model数据传递到jsp页面
  • springmvc 向jsp页面传递数据库读取到的值方法
  • 浅谈springmvc jsp前台获取参数的方式 el表达式
  • jsp开发中在spring mvc项目中实现登录账号单浏览器登录
  • jsp中springmvc配置validator的注意事项
  • javaweb实现用户登录注册功能实例代码(基于servlet+jsp+javabean模式)
  • 随机生成文件名的函数
  • 用连接池提高servlet访问数据库的效率(2)
  • jdbctm 指南:入门6-preparedstatement
  • spring aop 动态多数据源的实例详解
  • apache+servlet+jsp环境设置(中)
  • 快速建立servlet和jsp的运行、调试和编译环境
  • 五、读取http请求头
  • ssh项目环境搭建步骤(web项目)
  • 通用大型网站页面静态化解决方案
  • 用java实现ftp服务器解决方案
  • 使用Jsp和Servlet是如何实现MVC模式的?
  • Jsp 使用MVC模式实现一个简单的登录注册
  • 如何用jsp,servlet完成一个简单的用户登录的MVC模式设计的实现
  • 如何实现MVC模式
  • 按照MVC设计模式,JSP用于实现于哪一个?
  • jsp中怎样实现查询功能?(mvc模式)
  • 关于jsp的MVC模式
  • 求一个登录系统,采用MVC模式,用Servlet+JSP结合,实现对数据库的增删改查操作,急求!!!...
  • 如何在Unity中实现MVC模式
  • JSP中基于MVC模式写一个查询功能,要求在查询本页面同步显示?怎么写这个查询功能给个具体的例子,谢...
  • 免责声明 - 关于我们 - 联系我们 - 广告联系 - 友情链接 - 帮助中心 - 频道导航
    Copyright © 2017 www.zgxue.com All Rights Reserved