使用JSON技术结合MVC模式C标签实现登录功能
来源:互联网 发布:陈大可的知乎icm 编辑:程序博客网 时间:2024/05/28 05:17
首先列出需要的工具
1、json使用的6个jar包
commons-beanutils.jar
commons-collections.jar
commons-lang-2.4.jar
commons-logging.jar
ezmorph-1.0.4.jar
json-lib-2.2.1-jdk15.jar
2、C标签的两个jar包
jstl.jar
standard.jar
3、mysql的链接包
mysql-connector-java-5.1.7-bin.jar
4、使用jquery的包
jquery-3.1.1.min.js
下面就二话不说上代码了
一)com.bihua.util数据库链接包
DBHelper类
package com.bihua.util;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;public class DBHelper {private static String DRIVERCLASS="com.mysql.jdbc.Driver";//驱动private static String URL="jdbc:mysql://localhost:3306/test";//数据库路径private static String UNAME="root";//账号名private static String UPWD="1234";//密码 //加载驱动 static{try {Class.forName(DRIVERCLASS);} catch (Exception e) {e.printStackTrace();}} //建立链接 public static Connection getConn(){Connection conn=null;try { //获取链接conn=DriverManager.getConnection(URL,UNAME,UPWD);} catch (Exception e) {e.printStackTrace();}return conn;} //关闭链接public static void myClose(Connection conn,PreparedStatement ps,ResultSet rs){try {if(conn!=null&&conn.isClosed()){conn.close();}if(ps!=null){conn.close();}if(rs!=null){rs.close();}} catch (Exception e) {e.printStackTrace();}}}二)com.zking.entity实体类
Login类
package com.bihua.entity;public class Login {private String uname;//用户名private String upwd;//密码 //无参构造public Login() {} //有参构造public Login(String uname, String upwd) {this.uname = uname;this.upwd = upwd;} //getset方法public String getUname() {return uname;}public void setUname(String uname) {this.uname = uname;}public String getUpwd() {return upwd;}public void setUpwd(String upwd) {this.upwd = upwd;}}
三)com.zking.dao方法包
LoginDaoImp接口类
package com.bihua.dao;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import com.bihua.entity.Login;import com.bihua.util.DBHelper;public class LoginDaoImp implements LoginDao{/** * 是否登陆成功的方法 * @param login * @return */public boolean goLogin(Login login) {boolean b=false;Connection conn=DBHelper.getConn();PreparedStatement ps=null;ResultSet rs=null;String sql="select * from login where uname=? and upwd=?";try {ps = conn.prepareStatement(sql);ps.setString(1, login.getUname());ps.setString(2, login.getUpwd());rs = ps.executeQuery();b=rs.next();} catch (Exception e) {e.printStackTrace();}finally{DBHelper.myClose(conn, ps, rs);}return b;}}LoginDao实现类
package com.bihua.dao;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import com.bihua.entity.Login;import com.bihua.util.DBHelper;public class LoginDaoImp implements LoginDao{/** * 是否登陆成功的方法 * @param login * @return */public boolean goLogin(Login login) {boolean b=false;Connection conn=DBHelper.getConn();PreparedStatement ps=null;ResultSet rs=null; //定义sql语句String sql="select * from login where uname=? and upwd=?";try {ps = conn.prepareStatement(sql);ps.setString(1, login.getUname());ps.setString(2, login.getUpwd());rs = ps.executeQuery();b=rs.next();} catch (Exception e) {e.printStackTrace();}finally{ //关闭链接DBHelper.myClose(conn, ps, rs);}return b;}}
四)com.zking.biz biz包
LoginBiz接口类
package com.bihua.biz;import com.bihua.entity.Login;public interface LoginBiz {/** * 是否登陆成功的方法 * @param login * @return */public boolean goLogin(Login login);}LoginBizImp实现类
package com.bihua.biz;import com.bihua.dao.LoginDao;import com.bihua.dao.LoginDaoImp;import com.bihua.entity.Login;public class LoginBizImp implements LoginBiz{private LoginDao loginDao=null;public LoginBizImp(){loginDao=new LoginDaoImp();}public boolean goLogin(Login login) {return loginDao.goLogin(login);}}五)com.zking.servlet 业务逻辑包
LoginServlet 登陆的业务逻辑类
package com.bihua.servlet;import java.io.IOException;import java.io.PrintWriter;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import com.bihua.biz.LoginBiz;import com.bihua.biz.LoginBizImp;import com.bihua.entity.Login;import net.sf.json.JSONObject;public class LoginServlet extends HttpServlet{@Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp)throws ServletException, IOException {req.setCharacterEncoding("UTF-8");resp.setContentType("text/html; charset=UTF-8");//接收从页面上传过来的字符串String loginStr=req.getParameter("login");//把从页面上传过来的String类型的值转成JSON型字符串JSONObject jsonObject=JSONObject.fromObject(loginStr);//把JSON字符串转化为Login对象Login login=(Login) jsonObject.toBean(jsonObject,Login.class);//拿值判断LoginBiz loginBiz=new LoginBizImp();boolean b=loginBiz.goLogin(login);String str="";if(b){str="登陆成功";}else{str="登陆失败";}PrintWriter pw=resp.getWriter();pw.write(str);pw.close();}}六)登陆界面
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8" contentType="text/html; charset=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 'login.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" src="jquery\jquery-3.1.1.min.js"></script><script type="text/javascript">function Login(uname,upwd){this.uname=uname;this.upwd=upwd;}$(function(){$("#isok").click(function(){var uname=$("#uname").val();var upwd=$("#upwd").val();var login=new Login(uname,upwd);var jsonStr=JSON.stringify(login);$.post("login.do",{"login":jsonStr},function(data){if("登陆成功"==data){alert("登陆成功");document.location.href="getAll.jsp";}else{alert("登陆失败");}});});});</script> </head> <body> <center> 登陆名:<input type="text" id="uname" /><br/> 登陆密码:<input type="password" id="upwd" /><br/> <input id="isok" type="button" value="登陆" style="width:150px;"/> </center> </body></html>七)web.xml配置
<?xml version="1.0" encoding="UTF-8"?><web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> <servlet> <servlet-name>loginServlet</servlet-name> <servlet-class>com.zking.servlet.LoginServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>loginServlet</servlet-name> <url-pattern>/login.do</url-pattern> </servlet-mapping></web-app>
登陆的效果就是这样子了,有什么问题可以私信我,欢迎大家指点一二
阅读全文
0 0
- 使用JSON技术结合MVC模式C标签实现登录功能
- mvc模式实现登录注册功能
- 使用mvc模式实现用户登录001
- 使用mvc模式实现用户登录002
- 使用mvc模式实现用户登录003
- Label标签结合input标签使用功能
- 结合FlexboxLayout实现标签选择功能
- 三层架构结合外观模式实现登录
- 使用MVP模式实现简单的登录功能
- MVP模式实现登录功能
- MVP模式实现登录功能
- spring mvc +mybatis登录首页功能 实现
- jsp+javabean+servlet+Mysql实现MVC模式下的注册登录留言功能
- 用MVC开发模式实现servlet简单的登录功能(带图片验证码)
- Android PHP JSON 登录注册功能实现
- C:set标签结合javabean的使用
- Java中的mvc模式用了什么技术?怎么实现的?(结合Strust2、Hibernate、Spring)回答
- 使用JDBC实现登录功能
- codevs 1141 数列(二进制&快速幂)
- Spring TestContext测试框架搭建
- 37 C语言加减乘除运算
- Android7.0完美适配——FileProvider拍照裁剪全解析
- Spring Bean java显式配置类注入Bean
- 使用JSON技术结合MVC模式C标签实现登录功能
- TCP UDP之网络编程及数据库入门
- 部落图鉴之Go:爹好还这么努力?
- 程序员面试心得及如何看待培训班
- JDBC规范
- 总结2
- Putty远程登录VMware虚拟机Linux(Ubuntu)
- QT学习第一天-----基本操作
- PAT 几个pat