一、登录的完成

先导包jquery和MySql
//异步提交
<script type="text/javascript" src="js/jquery-1.8.2.min.js"></script>       //在这里用来支持$写法
<script type="text/javascript">

$(function(){
  
$("#bt").click(function () {
    //点击id为bt的按钮执行以下方法
$.ajax({
type:"post", //提交方式
url:"login.do", //提交地址 这里配置提交到servlet需要web.xml看下文
data:{"username":$("#username").val(),    //获取username的值
"password":$("#password").val()}, //提交内容 success:function(msg){
alert(msg);
} //成功返回执行方法
})
})
}) </script>
异步提交不用from表单所以提交内容如下
//没有使用from表单,所以这里用betton.id执行相应方法
用户名:<input type="text" id="username"><br>
秘密:<input type="password" id="password"><br>
<input type="button" id="bt" value="登录">
这里xml得配置
<!-- 登录 -->
<servlet>
<servlet-name>login</servlet-name>
<servlet-class>Servlet.UserServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>login</servlet-name>
<url-pattern>/login.do</url-pattern>
</servlet-mapping>
//select链接后台,select-mapping只负责前台数据,用servlet-name搭建前后台数据桥梁

控制层Servlet

 1 protected void doPost(HttpServletRequest req, HttpServletResponse resp)
2 throws ServletException, IOException {
3 //这里就是用来支持中文
4 req.setCharacterEncoding("utf-8");
5 resp.setCharacterEncoding("utf-8");
6
7
8
9 String username=req.getParameter("username");
10 String password=req.getParameter("password");
11
12 UserService us=new UserService();
13
14 try {
15 us.login(username,password);
16 resp.getWriter().write("登录成功!");
17 } catch (Exception e) {
18 // TODO Auto-generated catch block
19 //e.printStackTrace();
20 resp.getWriter().write(e.getMessage());
21 }
22 }

服务层service

public void login(String username, String password) throws Exception {
UserDao ud=new UserDao() ; //链接Dao
user user = ud.login(username,password); //接收Dao返回内容 这里得建立user实体类
if (user.getUsername()==null &&user.getPassword()==null) {
throw new Exception("登陆失败!");
} }

数据持久层Dao

老样子(先写链接方法,和设置会用到的全局变量)
Connection conn;
Statement stem;
ResultSet rs;
public void lianjie() {
try {
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/bj", "root", "123456");
} catch (Exception e) {e.printStackTrace();}
} public user login(String username, String password) throws Exception {
this.lianjie();
stem = conn.createStatement();
rs = stem.executeQuery("select * from user where username='"+username+"' and password='"+password+"'");
user user = new user();
while (rs.next()) {
user.setUsername(rs.getString("username"));//从数据库内容rs,对应属性赋值实体类
user.setPassword(rs.getString("password"));
}
//ResultSet结果集有一个索引指针,最初这个指针是指向第一条记录的前一个位置,也就是没有指向任何内容,使用aaa.next()方法就会使指针往后移动指向下一个记录,所以一定要先执行一次next()函数才会让指针指向第一条记录。正因为如此,直接【result=rs.getInt("courseId");】这样是没用的。 rs.close(); //关闭
conn.close();
return user;
}
}

关于Ajax异步提交登录及增删改查小项目制作-登录的更多相关文章

  1. SSH登录与增删改查demo详解+源代码

    点击下载,测试绝对可用SSH整合框架登录加增删改查demo 下载地址:http://download.csdn.net/detail/qq_33599520/9784679   一.框架概述 spri ...

  2. 一个使用MVC3+NHibernate “增删改查” 的项目

    一个使用MVC3+NHibernate “增删改查” 的项目  前言: 谈到NHibernate大伙并不陌生,搞Java的更是清楚,Hibernate是一个目前应用的最广泛的开放源代码的对象关系映射框 ...

  3. bootstrap+Ajax+SSM(maven搭建)实现增删改查

    https://www.jianshu.com/p/d76316b48e3e 源码: https://github.com/Ching-Lee/crud 功能点: 分页 数据校验 ajax Rest风 ...

  4. 招新系统(jsp+servlet,实现简略前端网页注册登录+后台增删改查,分学生和管理员,Java语言,mysql数据库连接,tomcat服务器)

    生活不只是眼前的苟且,还有诗和远方. 架构说明: 要求是采用MVC模式,所以分了下面的几个包,但是由于是第一次写,可能分的也不是很清楚: 这个是后台部分的架构: 这个是前端的的展示: (那个StuLo ...

  5. 基于springmvc、ajax,后台连接数据库的增删改查

    前言 前段时间在博客园上找了一个springmvc的例子,照着学了一下,算是对springmvc有了一个初步的了解,打一个基础,下面是链接.(我只看了博客,视频太耗时间了) 博客链接:http://w ...

  6. AJAX 调用WebService 、WebApi 增删改查(笔记)

    经过大半天努力,终于完成增删改查了!心情有点小激动!!对于初学者的我来说,一路上都是迷茫,坑!!虽说网上有资料,可动手起来却不易(初学者的我).(苦逼啊!) WebService 页面: /// &l ...

  7. Ado.net[登录,增删改查,Get传值,全选,不选,批量删除,批量更新]

    [虽然说,开发的时候,我们可以使用各种框架,ado.net作为底层的东西,作为一个合格的程序员,在出问题的时候我们还是要知道如何调试] 一.增删改查 cmd.ExecuteReader();执行查询, ...

  8. 一个使用MVC3+NHibernate “增删改查” 的项目(修正版)

      前言: 谈到NHibernate大伙并不陌生,搞Java的更是清楚,Hibernate是一个目前应用的最广泛的开放源代码的对象关系映射框架,它对Java的JDBC(类似于ADO.Net)进行了非常 ...

  9. TP5学习基础一:增删改查小demo

    ①TP5--增删改查简单的demo 我先吐槽一下:因为工作需要研究tp5,去官网看了一下哎呦,资源挺多挺全啊!然后下载唯一免费的官方教程,我曹pdf打开533页.讲的很细但是开发能等看完才做吗?看到精 ...

随机推荐

  1. Message /index.jsp (line: [17], column: [45]) The JSP specification requires that an attribute name is preceded by whitespace

    Error: Message /index.jsp (line: [17], column: [45]) The JSP specification requires that an attribut ...

  2. Java实验项目三——编程实现Person类,学生类的设计及其继承关系

    Program: 编程实现Person类,学生类的设计及其继承关系 代码如下: 定义抽象类Person 1 /* 2 * Description:建立抽象类 3 * 4 * Written By:Ca ...

  3. buu [V&N2020 公开赛]strangeCpp

    拖入ida,静态调试一下,本来想动调的,发现一直缺dll.没办法,只能头铁,静态 找到主函数,然后并没有发现什么,找了半天,没结果,后面也是看了大佬wp,才找到解决方式,感觉这种只能通过动调来找到关键 ...

  4. Word转PDF的VBA脚本

    将以下内容复制粘贴在一个txt中,修改txt后缀为".vbs" On Error Resume Next Const wdExportFormatPDF = 17 Set oWor ...

  5. RWLock——一种细粒度的Mutex互斥锁

    RWMutex -- 细粒度的读写锁 我们之前有讲过 Mutex 互斥锁.这是在任何时刻下只允许一个 goroutine 执行的串行化的锁.而现在这个 RWMutex 就是在 Mutex 的基础上进行 ...

  6. 「AGC027D」Modulo Matrix

    「AGC027D」Modulo Matrix 传送门 神仙构造题. 首先考虑一个非常自然的思路,我们把棋盘黑白染色后会变成一个二分图,黑色棋子只会与白色棋子相邻. 也就是说,我们可以将二分图的一部随便 ...

  7. Spark的安装和使用

    根据Spark2.1.0入门:Spark的安装和使用在虚拟机安装Spark,并进行测试 实验3  Spark读取文件系统的数据 将文件上传hdfs (1)在spark-shell中读取Linux系统本 ...

  8. spring-3-spring整合mybatis

    版本和依赖 MyBatis-Spring 需要以下版本: maven依赖 <dependency> <groupId>org.mybatis</groupId> & ...

  9. Oracle19c 如何用rman duplicate 克隆一个数据库。(Backup-Based, achive log)

    Oracle19c 如何用rman duplicate 克隆一个数据库.(Backup-Based, achive log) 首先克隆有两种方法,一种是Backup-Based,一种是Active方式 ...

  10. Spring常见问题(五)

    1.静态资源访问配置 绝对路径:访问静态资源. <mvc:resources location="/js/" mapping="/js/**">&l ...