- 浏览: 153505 次
- 性别:
- 来自: 大连
文章分类
最新评论
-
fddjxllren:
session.find()是不支持动态绑定参数的.要使用it ...
Hibernate查询之list/iterator -
xiaofeiyang:
http://svn.apache.org/repos/asf ...
struts,hibernate,spring 版本控制svn的URL地址 -
peterxiemin:
emp在建立的时候,报无效的月份,为什么 ?
oracle的练习表---employee -
java_bigniu:
...
Hibernate查询之list/iterator -
lanhai921:
学习下,谢谢分享。
itext基本用法
MVC的第一个实例-----一个登陆:
首先我们需要一个VO类:
package com.keith.bean; public class TUser implements java.io.Serializable { private static final long serialVersionUID = 1L; private Integer userid; private String userName; private String pwd; public TUser() { } public Integer getUserid() { return userid; } public void setUserid(Integer userid) { this.userid = userid; } public String getUserName() { return userName; } public void setUserName(String userName) { this.userName = userName; } public String getPwd() { return pwd; } public void setPwd(String pwd) { this.pwd = pwd; } }
需要一个数据库工具类,DBConn:
package com.keith.util; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; public class DBConn { private static final String DBDRIVER = "com.mysql.jdbc.Driver"; private static final String DBURL = "jdbc:mysql://127.0.0.1:3306/login"; private static final String DBUSER = "root"; private static final String DBPWD = "kejianjun"; private Connection conn = null; public DBConn() { try { Class.forName(DBDRIVER); conn = DriverManager.getConnection(DBURL, DBUSER, DBPWD); } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } } public void close() throws Exception{ if (this.conn != null) { try { conn.close(); } catch (Exception e) { e.printStackTrace(); } } } public Connection getConn() { return conn; } public void setConn(Connection conn) { this.conn = conn; } }
然后从页面开始index.jsp(客户端验证一下):
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <base href="<%=basePath%>"> <title>My JSP 'index.jsp' starting page</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> <!-- <link rel="stylesheet" type="text/css" href="styles.css"> --> <script type="text/javascript"> function validate(f){ if (!(/^\w{4,15}$/.test(f.username.value))) { alert("用户名必须是4~16位!"); f.username.focus(); return false; } if (!(/^\w{4,15}$/.test(f.pwd.value))) { alert("密码必须是4~15位!"); f.pwd.focus(); return false; } return true; } </script> </head> <body> <% List<String> info = (List<String>)request.getAttribute("info"); if(info != null){ Iterator<String> iter = info.iterator(); while(iter.hasNext()){ %> <h3><font color="red"><%=iter.next() %></font></h3> <%} } %> <form action="login" method="post" onsubmit="return validate(this)" name="f"> 用户名:<input type="text" name="username"><br /> 密 码:<input type="password" name="pwd"><br /> <input type="submit" value="登陆"> <input type="reset" value="取消"> </form> </body> </html>
然后通过发出的login请求在web.xml里找到想对应的servlet:
web.xml:
<servlet> <servlet-name>login</servlet-name> <servlet-class>com.keith.servlet.LoginServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>login</servlet-name> <url-pattern>/login</url-pattern> </servlet-mapping> <servlet>
找到了LoginServlet:
package com.keith.servlet; import java.io.IOException; import java.util.ArrayList; import java.util.List; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.keith.bean.TUser; import com.keith.factory.DAOFactory; /** * 定义Sevlet * * @author T * */ public class LoginServlet extends HttpServlet { private static final long serialVersionUID = 1L; @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { this.doPost(req, resp); } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { String sucPath = "main.jsp"; String loginEroPath = "index.jsp"; String username = req.getParameter("username"); String pwd = req.getParameter("pwd"); List<String> info = new ArrayList<String>(); if (username == null || "".equals(username)) { info.add("用户名不能为空!"); } if (pwd == null || "".equals(pwd)) { info.add("密码不能为空!"); } //用户名密码通过验证 if (info.size() == 0) { //实例化VO TUser user = new TUser(); //设置username user.setUserName(username); //设置pwd user.setPwd(pwd); if (DAOFactory.getIUserDAOInstance().findLogin(user)) { info.add("欢迎:" + user.getUserName()); //保存信息,进行跳转 req.setAttribute("info", info); req.getRequestDispatcher(sucPath).forward(req, resp); } else { info.add("用户信息错误!"); req.setAttribute("info", info); req.getRequestDispatcher(loginEroPath).forward(req, resp); } } } }
通过DAO工厂找到UserDAO的实例:这是DAOFactory:
package com.keith.factory; import com.keith.dao.IUserDAO; import com.keith.dao.proxy.UserDAOProxy; /** * 定义工厂类,取得DAO实例 * @author T * */ public class DAOFactory { /** * 取得DAO实例 * @return */ public static IUserDAO getIUserDAOInstance(){ //返回代理实例 return new UserDAOProxy(); } }
返回代理实例,找到userDAO的代理类:
package com.keith.dao.proxy; import com.keith.bean.TUser; import com.keith.dao.IUserDAO; import com.keith.dao.UserDAOImpl; import com.keith.util.DBConn; /** * DAO代理操作类 * * @author T * */ public class UserDAOProxy implements IUserDAO { private DBConn dbc = null; private IUserDAO dao = null; public UserDAOProxy() { //实例化数据库连接 this.dbc = new DBConn(); this.dao = new UserDAOImpl(this.dbc.getConn()); } /** * 代理登陆方法 */ public boolean findLogin(TUser user) { boolean flag = false; try { // 调用真实主题 flag = this.dao.findLogin(user); this.dbc.close(); } catch (Exception e) { e.printStackTrace(); } return flag; } }
找到UserDAOImpl的并执行它的findLogin()方法:
package com.keith.dao; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import com.keith.bean.TUser; public class UserDAOImpl implements IUserDAO { private Connection conn = null; private PreparedStatement pstm = null; public UserDAOImpl(Connection conn) { this.conn = conn; } /** * 登陆 * * @throws SQLException */ public boolean findLogin(TUser user) { boolean flag = false; try { String sql = "SELECT username,pwd FROM tuser WHERE username=? and pwd=?"; this.pstm = this.conn.prepareStatement(sql); this.pstm.setString(1, user.getUserName()); this.pstm.setString(2, user.getPwd()); ResultSet rs = this.pstm.executeQuery(); if (rs.next()) { user.setUserName(rs.getString(1)); flag = true; } } catch (SQLException e) { e.printStackTrace(); } finally { try { if (this.pstm != null) { this.pstm.close(); } } catch (SQLException e2) { e2.printStackTrace(); } } return flag; } }
实现了IUserDAO接口:
package com.keith.dao; import java.sql.SQLException; import com.keith.bean.TUser; /** * userDao接口 * * @author T * */ public interface IUserDAO { /** * 用户登录验证 * * @param user * @return */ public boolean findLogin(TUser user); }
以上就是一个MVC的简单实例;
发表评论
-
JSTL标签之XML标签库,函数标签库
2011-01-20 13:14 0在JSTL中可提供了用于XML解析的操作,这样可以减少 ... -
JSTL常用标签之大聚集---下
2011-01-20 10:17 1390JSTL国际化标签库: 其主要标签如下: NO ... -
JSTL常用标签之大聚集---中
2011-01-20 08:52 991<c:forEach>标签: 主要 ... -
JSTL常用标签之大聚集---上
2011-01-17 22:53 1096JSTL已经被继承到了javaEE ... -
jsp标签编程『续』---简单开发
2011-01-17 16:03 1387在jsp1.2之前如果想要对标签库进行开发,要么继承Ta ... -
jsp标签编程『下』---开发迭代标签
2011-01-17 10:48 1290开发一个迭代标签,此标签只可以对list进行迭代(学习)。 ... -
jsp标签编程『下』---TagSupport类
2011-01-17 10:11 2839掌握基本的标签定义后,可以发现定义标签时都需要继承TagSup ... -
jsp标签编程『中』---定义有属性的标签
2011-01-17 09:13 999定义一个日期标签,则用户就必须指定格式化日期的格式; Dat ... -
jsp标签编程『上』---编写标签
2011-01-16 21:30 10701,什么是JSP标签库? JSP标签库(自定义标签 ... -
javaWeb之表达式语言---初始EL
2011-01-16 08:55 10011,何为表达式语言(Expression Language,E ... -
监听器实例之---在线人员统计
2011-01-15 17:30 0当用户成功登录后,会在列表中增加此用户名称,这样就可 ... -
jsp/servlet之监听器
2011-01-15 16:05 16091,什么是监听器? 其主要的功能就是监听Web ... -
jsp/servlet之过滤器
2011-01-15 14:03 10971,什么是过滤器(filter)? 它是以一种 ... -
javaWeb之MVC模式
2011-01-13 23:11 1405javaWeb引入了servlet概念 ... -
javaWeb之Servlet跳转
2011-01-13 22:53 1853servlet跳转分为:客户端跳转和服务器端跳转; 客户端 ... -
javaWeb之Servlet
2011-01-13 22:22 1509使用jsp可以完成动态的web开发,但是在开发时发现大量的代码 ... -
javaBean实例之注册验证
2011-01-13 14:29 3123首先定义Bean: package com.keith.be ... -
javaWeb之JavaBean
2011-01-13 13:47 12531,什么是JavaBean? ... -
jsp之阶段性总结
2011-01-13 08:53 9011,web安全性! 在web目录中必须存在一个&q ... -
jsp值application
2011-01-12 22:34 11301,什么是application? application对 ...
相关推荐
综上所述,"Mvc程序实例"是一个全面展示 ASP.NET MVC 框架的实践项目,通过它你可以学习如何构建高效、可维护的 Web 应用程序,理解 MVC 设计模式在实际开发中的运用。通过深入分析和实践这个实例,你将能够熟练掌握...
**MVC设计模式详解** **一、什么是MVC设计模式** MVC,即Model-View-Controller,是一种软件设计模式,常用于构建可维护性和可扩展性高的Web应用程序。在J2EE环境中,MVC模式是开发大型企业级应用的重要框架之一。...
总结来说,"MVC设计模式例子程序"是一个演示了如何在C#的Windows Forms环境下实现MVC模式的应用。通过模型、视图和控制器的分离,这个程序实现了业务逻辑、用户界面和数据管理的清晰划分,增强了代码的可读性和可...
"puremvc-js-multicore-framework-master"项目引入了多核概念,这意味着同一应用程序可以拥有多个并行运行的PureMVC实例。这在处理复杂、高并发的应用场景中非常有用,可以提高系统的性能和可靠性,同时也能实现更...
在实际应用中,一个简单的MVC实例可能如下所示: - **模型(Model)**:例如,一个用户管理模型,包含获取用户列表、添加新用户、删除用户等方法。 - **视图(View)**:用户列表页面,显示所有用户的信息,提供...
mvc,mvc设计,mvc实例mvc,mvc设计,mvc实例
MVC(Model-View-Controller)模式是软件设计模式的一种,它在Web开发领域非常常见,帮助开发者分离业务逻辑、数据处理和用户界面。单入口MVC模式则是这种模式的一个变体,它强制所有请求都通过一个单一的入口点进入...
总结来说,MVC设计模式是一种有效的软件设计策略,它有助于保持应用程序的结构清晰,提高代码复用,并简化了开发和维护过程。在本例子中,通过实现一个简单的球体计算应用,我们可以深入理解MVC模式的各个组成部分...
C# MVC(Model-View-Controller)框架是微软为构建Web应用程序提供的一种强大的设计模式。它将应用逻辑、用户界面和数据处理分离开来,使代码更易于管理和维护。在这个入门实例中,我们将深入探讨如何使用C# MVC创建...
MVC模式是软件工程中的一个设计模式,将应用程序分为三个主要部分:模型(Model)、视图(View)和控制器(Controller)。在ASP.NET MVC中: - **模型(Model)**:负责处理业务逻辑和数据管理,通常与数据库交互,...
在Web应用开发中,Model-View-Controller(MVC)模式是一种广泛采用的设计模式,它将应用程序的业务逻辑、数据和用户界面分离,使得开发和维护更加方便。在这个"经典MVC登录实例"中,我们将深入探讨如何使用MVC模式...
#### 二、MVC设计模式概述 MVC模式是一种被广泛应用于用户界面设计的架构模式,它将应用程序分为三个核心组成部分:模型(Model)、视图(View)和控制器(Controller)。 1. **模型(Model)**:代表应用程序的...
MVC(Model-View-Controller)模式是一种软件设计模式,广泛应用于Web开发中,旨在分离应用程序的数据层、表现层和控制层,使得代码结构清晰,易于维护。在MVC模式中,Model负责处理数据和业务逻辑,View用于展示...
MVC(Model-View-Controller)模式是一种软件设计模式,广泛应用于构建Web应用程序,尤其是在Java开发领域。它将应用程序分为三个主要组件:模型(Model)、视图(View)和控制器(Controller),以实现业务逻辑、...
ASP.NET MVC 是一个开源的、基于模型-视图-控制器(MVC)设计模式的Web应用程序框架,由微软开发并维护。这个框架提供了一个轻量级、可测试和灵活的方式来构建动态网站、Web应用程序和Web服务。在"asp.net mvc demo...
**MVC模式详解** MVC(Model-View-Controller)模式是一种广泛应用于Web应用程序开发的设计模式,它将应用程序分为三个核心部分:模型(Model)、视图...同时,这也为我们提供了一个学习和实践MVC设计模式的宝贵资源。
MVC模式是一种设计模式,旨在分离应用程序的数据模型、用户界面和控制逻辑。这种模式允许开发者独立地修改各个组件,提高了代码的可维护性和可扩展性。在MVC模式中: - **Model(模型)**:代表数据模型,负责业务...
MVC(Model-View-Controller)是一种经典的软件设计模式,广泛应用于Web应用程序开发,尤其是Java和.NET平台。这个模式的主要目的是将业务逻辑、数据处理和用户界面进行分离,使得各部分可以独立发展和维护,提高...
通过这个"Movies"实例,开发者可以全面了解ASP.NET MVC3.0的各个层面,从设计模式到具体的实现技术,这有助于构建高质量、易于维护的Web应用程序。在实践中不断学习和迭代,可以提升对ASP.NET MVC3.0的理解和应用...