基于jsp+servlet+javabean的MVC模式简单应用
原先写在CSDN的一篇,我直接扒过来吧。之前打算在CSDN的,结果写了几回,发现他那个发布系统简直烂到家,经常丢失图片各种。所以很长一段时间我也没写什么。
一、MVC模式
1、M : javabean;
2、V : jsp;
3、C : servlet;
4、DB:MySQL;
二、文件夹
三、项目内容
1、建立数据库并封装数据库操作
create database testDB; use testDB; create table user ( id int auto_increment primary key, username varchar(20), password varchar(20), phone varchar(20), addr varchar(225) );
/** * 封装数据库操作 * 包括对javabean存储的操作; */ import java.sql.*; import com.yck.mvc.bean.User; public class DB { static { try { Class.forName("com.mysql.jdbc.Driver"); } catch (ClassNotFoundException e) { e.printStackTrace(); } } public static Connection getConnection() { Connection connection = null; try { connection = DriverManager.getConnection("jdbc:mysql://localhost/testdb?user=root&password=yck940522"); } catch (SQLException e) { e.printStackTrace(); } return connection; } public static void closeConnection(Connection connection) { try { if(connection != null) { connection.close(); connection = null; } } catch (SQLException e) { e.printStackTrace(); } } public static PreparedStatement preparedStatement(Connection connection,String sql) { PreparedStatement preparedStatement = null; try { preparedStatement = connection.prepareStatement(sql); } catch (SQLException e) { e.printStackTrace(); } return preparedStatement; } public static void closePreparedStatement(PreparedStatement preparedStatement) { try { if(preparedStatement != null) { preparedStatement.close(); preparedStatement = null; } } catch (SQLException e) { e.printStackTrace(); } } public static Statement createStatement(Connection connection) { Statement statement = null; try { statement = connection.createStatement(); } catch (SQLException e) { e.printStackTrace(); } return statement; } public static void closeStatement(Statement statement) { try { if(statement != null) { statement.close(); statement = null; } } catch (SQLException e) { e.printStackTrace(); } } public static ResultSet getResultSet(Statement statement,String sql) { ResultSet resultSet = null; try { resultSet = statement.executeQuery(sql); } catch (SQLException e) { e.printStackTrace(); } return resultSet; } public static void closeResultSet(ResultSet resultSet) { try { if(resultSet != null) { resultSet.close(); resultSet = null; } } catch (SQLException e) { e.printStackTrace(); } } //构造在数据库中存储User的方法 public static void saveUser(User u) { Connection connection = null; PreparedStatement preparedStatement = null; try { connection = DB.getConnection(); String sql = "insert into user values(null,?,?,?,?)"; preparedStatement = DB.preparedStatement(connection, sql); preparedStatement.setString(1, u.getUsername()); preparedStatement.setString(2, u.getPassword()); preparedStatement.setString(3, u.getPhone()); preparedStatement.setString(4, u.getAddr()); preparedStatement.executeUpdate(); } catch (SQLException e) { e.printStackTrace(); } } }
2、建立Model:封装User
public class User { private String username; private String password; private String phone; private String addr; public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public String getPhone() { return phone; } public void setPhone(String phone) { this.phone = phone; } public String getAddr() { return addr; } public void setAddr(String addr) { this.addr = addr; } }
3 建立View:写jsp页面
1)register.jsp
<%@ 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> <body> <form name="regiserForm" action="http://localhost:8080/MVC/RegisterServlet" method = "post"> <table id="registerTableId" align="center"> <tr> <td colspan="2" align="center">用户注册</td> </tr> <tr> <td>用户名</td> <td><input id="usernameId" type="text" name="username"></td> <td><span id="usernameTipId"></span></td> </tr> <tr> <td>密码</td> <td><input id="passwordId" type="password" name="password"></td> <td><span id="passwordTipId"></span></td> </tr> <tr> <td>密码确认</td> <td><input id="password2Id" type="password" name="password2"></td> <td><span id="password2TipId"></span></td> </tr> <tr> <td>手机号码</td> <td><input id="phoneId" type="text" name="phone"></td> <td><span id="phoneTipId"></span></td> </tr> <tr> <td>地址</td> <td><textarea id="addrId" name="addr" rows="3" cols="25"></textarea></td> </tr> <tr> <td><input id="registerSubmitId" type="submit" value="提交"></td> <td><input id="registerResetId" type="reset" value="重置"></td> </tr> </table> </form> </body> </html>
2)registerInfo.jsp 显示注册信息
<%@ 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> <body> <jsp:useBean id="registerUser" class="com.yck.mvc.bean.User" scope="session"></jsp:useBean> <table id="registerInfoId" align="center"> <tr><td colspan="2" align="center">用户信息</td></tr> <tr> <td>用户名</td> <td> <jsp:getProperty property="username" name="registerUser"/></td> </tr> <tr> <td>手机号码</td> <td> <jsp:getProperty property="phone" name="registerUser"/></td> </tr> <tr> <td>地址</td> <td> <jsp:getProperty property="addr" name="registerUser"/></td> </tr> </table> </body> </html>
4、建立Control层:写servlet
RegisterServlet
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; import com.yck.mvc.DButil.DB; import com.yck.mvc.bean.User; /** * Servlet implementation class RegisterServlet */ @WebServlet("/RegisterServlet") public class RegisterServlet extends HttpServlet { private static final long serialVersionUID = 1L; /** * @see HttpServlet#HttpServlet() */ public RegisterServlet() { super(); // TODO Auto-generated constructor stub } /** * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) */ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doPost(request,response); } /** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.setCharacterEncoding("utf-8"); try { String username = request.getParameter("username"); String password = request.getParameter("password"); String phone = request.getParameter("phone"); String addr = request.getParameter("addr"); User u = new User(); u.setUsername(username); u.setPassword(password); u.setPhone(phone); u.setAddr(addr); DB.saveUser(u); request.getSession().setAttribute("registerUser", u); request.getRequestDispatcher("registerInfo.jsp").forward(request, response); } catch (Exception e) { e.printStackTrace(); } } }
那边也没有测试的结果图,我猜肯定是挂了。CSDN毛病特别多,作者甚至不能预览自己写的东西。提交之后在审核的过程中,点击自己的文章就是报错,所以我都是写完就丢那
基于jsp+servlet+javabean的MVC模式简单应用的更多相关文章
- Jsp+Servlet+JavaBean经典MVC模式理解
MVC模式目的(实现Web系统的职能分工). 在Java EE中,Jsp+Servlet+JavaBean算是里面经典的模式,是初学者必备的知识技能.M, Model(模型)实现系统的业务逻辑 1.通 ...
- (jsp+servlet+javabean )MVC架构
MVC是三个单词的缩写,这三个单词分别为:模型.视图和控制. 使用的MVC的目的:在于将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式.比如Windows系统资源管理器文件夹内容的显示方 ...
- 2017.11.21 基于JSP+Servlet+JavaBean实现复数运算(二)
代码的实现 最基本的MVC模式 //input.jsp 输入界面 <%@ page language="java" import="java.util.*" ...
- 2017.11.20 基于JSP+Servlet+JavaBean实现复数运算(一)
(7)在Servlet中使用JavaBean Servlet和JavaBean都是类,在Servlet中使用JavaBean有两种方式: 1.在一个Servlet中单独使用JavaBean 一般完成的 ...
- 深入浅出Java MVC(Model View Controller) ---- (JSP + servlet + javabean实例)
在DRP中终于接触到了MVC,感触是确实这样的架构系统灵活性不少,现在感触最深的就是使用tomcat作为服务器发布比IIS好多了,起码发布很简单,使用起来方便. 首先来简单的学习一下MVC的基础知识, ...
- JSP中使用的模式——JSP+Servlet+JavaBean
上一篇博文写到模式一:JSP+JavaBean 链接地址:http://wxmimperio.coding.io/?p=155 JSP中两种模式的总结 链接地址:http://wxmimperio.c ...
- MVC jsp+servlet+javabean 连接Mysql数据库測试demo
本文介绍的是怎样使用MVC架构去实现jsp+servlet+javabean连接数据库 首先我们应该了解什么是MVC: MVC包含三个部分 : ①View:由各种JSP页面组成. ②Controlle ...
- 基于JSP+SERVLET的新闻发布系统(一)
本系统使用的是基于JSP+SERVLET+TOMCAT6 数据库使用的是MYSQL IDE是MYECLIPSE8.5,页面编辑使用的是百度的ueditor,比较适合咱国人 采用MVC模式,使用的关键技 ...
- 基于jsp+servlet图书管理系统之后台万能模板
前奏: 刚开始接触博客园写博客,就是写写平时学的基础知识,慢慢发现大神写的博客思路很清晰,知识很丰富,非常又价值,反思自己写的,顿时感觉非常low,有相当长一段时间没有分享自己的知识.于是静下心来钻研 ...
随机推荐
- RxSwift 系列(一) -- Observables
为什么使用RxSwift? 我们编写的代码绝大多数都涉及对外部事件的响应.当用户点击操作时,我们需要编写一个@IBAction事件来响应.我们需要观察通知,以检测键盘何时改变位置.当网络请求响应数据时 ...
- spring框架的IOC的底层原理
1.IOC概念:spring容器创建对象并管理 2.IOC的底层原理的具体实现: 1)所使用的技术: (1). dom4j解析xml配置文件 (2).工厂设计模式(解耦合) (3).反射 第一步:配置 ...
- iptables规则进阶
iptables规则进阶 1.实验环境搭建: 在进行试验之前,先要进行实验环境的搭建,要求如下: 1.对于三台主机,分别设置IP地址 2.设置10.0.1.22为内网主机 3.设置中间主机有两个网卡, ...
- Serv-U权限设置规则
Serv-U有服务器--域--组--用户四级账号管理规则,每一级都有相应的根目录,目录访问规则和虚拟路径的设置. 同样其他一些重复设置还有很多,如此很容易给人造成混乱--如果我哪里都设置的话会不会造成 ...
- kibana 常用查询方法
下面直接通过实例演示常用的搜索方法 转义特殊字符 + - && || ! () {} [] ^" ~ * ? : \ 注意:以上字符当作值搜索的时候需要用 \ 转义 1.在任 ...
- 基于.NET CORE微服务框架 -谈谈Cache中间件和缓存降级
1.前言 surging受到不少.net同学的青睐,也提了不少问题,提的最多的是什么时候集成API 网关,在这里回答大家最近已经开始着手研发,应该在1,2个月内会有个初版API网关,其它像Token身 ...
- Redis作为消息队列服务场景应用案例(入队和出队)
http://www.cnblogs.com/leo_wl/p/3831349.html
- css3-d ,动画,圆角
一.3D 开启元素3D transform-style: preserve-3d; Z轴 正数 屏幕外,反之屏幕内 近大远小 perspective: length (必须大于等于0) -- 在3D元 ...
- JSON风格指南
中文版:https://github.com/darcyliu/google-styleguide/blob/master/JSONStyleGuide.md 英文版:https://google.g ...
- python爬煎蛋妹子图--20多行代码搞定煎蛋妹子图库
如果说一个人够无聊的话... 就会做一些十分美(wei)丽(suo)的事情啦哈哈哈... 好的,话不多说,进入正题. 正如标题所示,我们今天的目标很简单: 代码要少,妹子要好. 步骤如下: 1. 首先 ...