一、登录的完成

先导包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. 南京大学计算机基础 X64函数调用和链接器原理和可重定位的文件.o

    一. 1.函数调用差别 X64的函数调用,和X86函数调用区别,在于参数的传递不一样了,X64的参数传递不在依靠栈来传,而是寄存器,不过还是具有局限性的 比如只能允许六个寄存器来传,分别是RDI,RS ...

  2. Windows软件包管理工具:Scoop

    前言 删库跑路后,Windows系统如何快速安装应用程序,部署环境呢? 以前想过这个问题,最近在安装Hugo时发现使用软件包管理工具可以解决这个问题. 阅读建议 首先需要测试下载速度,尝试从官网下载, ...

  3. 『心善渊』Selenium3.0基础 — 26、unittest测试框架的断言

    目录 1.断言介绍 2.常用的断言方法 3.断言示例 1.断言介绍 在执行测试用例的过程中,最终用例是否执行通过,是通过判断测试得到的实际结果和预期结果是否相等决定的,这时会用到断言方法. 本着没有消 ...

  4. 深入理解Java多线程——线程池

    目录 为什么需要线程池 定义 ThreadPoolExecutor 工作队列workQueue 不同的线程池 Executor 线程池的工作原理 线程池生命周期 线程池增长策略 线程池大小的设置 线程 ...

  5. 日常学习-001-Get和Post的区别

    首先说明参考链接:https://mp.weixin.qq.com/s/W68JzNIoUpm9hyXinOzkMw 以下为个人观后总结. 初级理解: GET和POST的区别 1.get传送的参数长度 ...

  6. C语言:输出数字各个位的数字及和

    #include <stdio.h> int main() { char sh[13][5]={"个","十","百",&quo ...

  7. java面向对象程序设计(下)-枚举类

    在某些情况下,一个类的对象是有限而且固定的,比如季节类,它只有4个对象;再比如行星类,目前只有8个对象,这些实例有限而且固定的类,在Java中被称为枚举类 JDK1.5新增了一个enum关键字,(它与 ...

  8. [004] - JavaSE面试题(四):JavaSE语法(2)

    第一期:Java面试 - 100题,梳理各大网站优秀面试题.大家可以跟着我一起来刷刷Java理论知识 [004] - JavaSE面试题(四):JavaSE语法(2) 第1问:重载(overload) ...

  9. [刘阳Java]_SpringMVC访问静态资源_第9讲

    有些时候我们在使用SpringMVC的时候造成无法访问静态资源文件(如:html,js,css,image等等).其主要的原因出在web.xml文件我们设置SpringMVC前端控制器的映射路径 &l ...

  10. 在Vue中echarts可视化组件的使用

    echarts组件官网地址:https://echarts.apache.org/examples/zh/index.html 1.找到脚手架项目所在地址,执行cnpm install echarts ...