基于JSP + servlet + javabean的MVC简单验证登录实例
来源:互联网 发布:java写xml 编辑:程序博客网 时间:2024/04/30 00:18
功能描述:用户输入登录信息提交给Servlet进行接收,Servlet接收到请求内容后进行验证然后根据验证结果跳转到相应页面。
MVC是一个框架模式,它强制性的使应用程序的输入、处理和输出分开。使用MVC应用程序被分成三个核心部件:模型、视图、控制器。它们各自处理自己的任务。最典型的MVC就是JSP + servlet + javabean的模式。
建立数据库为后面登录做数据准备:
create table tbl_user(id int(11) unsigned not null auto_increment,name varchar(50) not null default '',password varchar(50) not null default '',primary key (id));insert into tbl_user(id,name,password)values(1,'huge','jingxiongdi'),(2,'huojianhua','baidoufu');
整体架构图:
各部分代码实现:
模型层: (javabean)
定义VO类即User.java,类中属性与数据表中一一对应
package com.vo;public class User { private int id; private String name; private String password; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } @Override public String toString() { return "User [id=" + id + ", name=" + name + ", password=" + password + "]"; }}
定义DAO接口即UserDao.java
这里定义了一个需要参数类型为Connection 和User,返回类型为ResultSet的方法。
package com.dao;import java.sql.Connection;import java.sql.ResultSet;import java.sql.SQLException;import com.vo.User;public interface UserDao { public ResultSet find(Connection conn,User user)throws SQLException;}
定义DAO实现类即UserDaoImpl.java
方法功能:根据传入的数据进行查询,并返回查询结果。
package com.dao.impl;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import com.dao.UserDao;import com.vo.User;public class UserDaoImpl implements UserDao{ @Override public ResultSet find(Connection conn, User user) throws SQLException { PreparedStatement ps=conn. prepareStatement("select * from tbl_user where name=?and password=?"); ps.setString(1, user.getName()); ps.setString(2, user.getPassword()); return ps.executeQuery(); }}
定义CheckUserService.java
连接数据库,并且定义判断方法。如果查询结果有值就说明原本数据库中的存在该对应的账号与密码,验证通过,否则验证失败。
package com.service;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import com.dao.UserDao;import com.dao.impl.UserDaoImpl;import com.vo.User;public class CheckUserService { private UserDao oneuser=new UserDaoImpl(); public boolean check(User user){ Connection conn=null; try { Class.forName("com.mysql.jdbc.Driver"); conn=DriverManager.getConnection("jdbc:mysql:" + "//localhost:3306/mvc_db","root",""); ResultSet rs=oneuser.find(conn, user);//得到查询结果 while(rs.next()){ return true; } } catch (Exception e) { e.printStackTrace(); }finally{ try { conn.close(); } catch (SQLException e) { e.printStackTrace(); } } return false; }}
控制层(Servlet):CheckServlet.java
接收数据,查询,判断。根据判断结果跳转至相应页面。
package com.servlet;import java.io.IOException;import javax.servlet.RequestDispatcher;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import com.service.CheckUserService;import com.vo.User;public class CheckServlet extends HttpServlet { private CheckUserService cus=new CheckUserService(); public CheckServlet() { super(); } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doPost(request, response); } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String usn=request.getParameter("userName"); String psw=request.getParameter("passWord"); RequestDispatcher rd=null; String forward=null; if(usn==null||psw==null){ rd=request.getRequestDispatcher("/01/error.jsp"); rd.forward(request, response); }else{ User user=new User(); user.setName(usn); user.setPassword(psw); boolean bl=cus.check(user); if(bl){ forward="/01/success.jsp"; }else{ forward="/01/error.jsp"; } rd=request.getRequestDispatcher(forward); rd.forward(request, response); } }}
web.xml配置
<servlet> <servlet-name>CheckServlet</servlet-name> <servlet-class>com.servlet.CheckServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>CheckServlet</servlet-name> <url-pattern>/check</url-pattern> </servlet-mapping>
显示层(JSP):
login.jsp
<body> <form action="<%=request.getContextPath()%>/check" method="post"> 用户名:<input type="text" name="userName"><br> 密 码:<input type="password" name="passWord"><br> <input type="submit" value="登录"> <input type="reset" value="重置"> </form></body>
success.jsp
<body>登陆成功!<br>用户名:<%=request.getParameter("userName")%><br><a href="01/login.jsp">返回登录页面</a></body>
error.jsp
<body>登陆失败!<br>用户名或密码错误<br><a href="01/login.jsp">重新登录</a></body>
0 0
- 基于JSP + servlet + javabean的MVC简单验证登录实例
- 基于MVC思想的JSP+Servlet+JavaBean的登录模块
- Jsp+Servlet+JavaBean简单mvc实例
- Jsp+Servlet+JavaBean简单mvc实例
- Jsp+Servlet+JavaBean简单mvc实例
- Jsp+Servlet+JavaBean简单mvc实例
- Jsp+Servlet+JavaBean简单mvc实例
- 浅谈MVC(jsp+servlet+JavaBean简单实例)
- jsp+servlet+javaBean简单登录实例
- 基于jsp+servlet+javabean的MVC模式简单应用
- MVC(JSP+JavaBean+Servlet),用户登录验证开始
- MVC(JSP+JavaBean+Servlet)入门实例:用户登陆验证
- MVC(JSP+JavaBean+Servlet)入门实例:用户登陆验证
- 初识Jsp,JavaBean,Servlet以及一个简单mvc模式的登录界面
- 基于JSP+Servlet的用户登录验证
- 基于Servlet+JSP+JavaBean开发模式的用户登录注册
- 基于Servlet+JSP+JavaBean开发模式的用户登录注册
- 基于Servlet+JSP+JavaBean开发模式的用户登录注册
- Session的生命周期
- Set
- Grails中Domain对象的事务控制及同一对象的重复提交
- Cutting Sticks(砍棍子,区间DP)
- 滑动删除
- 基于JSP + servlet + javabean的MVC简单验证登录实例
- python读取日志
- SOUKE组合营销软件v9.1官方版
- python内建函数any()和all()
- hdoj4027【线段树】
- android studio Protocol Buffers 的使用
- 从Android代码中来记忆23种设计模式
- AngularJs自定义指令
- Ditto —— windows 剪贴板增强小工具(复制粘贴多条记录)