1.在连接数据库的JAVA类中添加查询功能:

在这之前有一个连接数据库的方法:

Connection conn=null;
PreparedStatement stat=null;              
ResultSet rs=null;                  //用来存储结果集

public WndMembers search(String name,String pw) throws SQLException{
WndMembers member=new WndMembers();
init();                         //初始化的方法用来实现数据库连接

String searchsql="select wnd_membersname,wnd_memberspw from wnd_members where wnd_membersname='"+name+"'and wnd_memberspw='"+pw+"' ";                                                  //定义一个查询数据库的SQL语句

stat=conn.prepareStatement(searchsql);              //这句话非常关键,只有有了这句话才能在查询数据库之前,连接数据库成功

if(name!=""&&pw!=""){
try {
rs=stat.executeQuery(searchsql);                            //把查询的结果返回给rs结果集
} catch (SQLException ex) {
Logger.getLogger(MyConnection.class.getName()).log(Level.SEVERE, null, ex);
}
}
try {
member.setWndMembersname(rs.getString(name));
member.setWndMemberspw(rs.getString(pw));              //如果查询到数据库中存在该数据,则返回给这个数据库生成的实体类的set方法,用于给Servlet获取
if(rs!=null){rs.close();}
if(stat!=null){
stat.close();
}
return member;
} catch (SQLException ex) {
Logger.getLogger(MyConnection.class.getName()).log(Level.SEVERE, null, ex);
}
return null;

}

2.新建一个Servlet用于登录并响应相应界面:

package weinidingServlet;

import java.io.IOException;
import java.io.PrintWriter;
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 java.sql.*;
import java.util.*;
import java.util.logging.Level;
import java.util.logging.Logger;
import weinidingServlet.MyConnection;
import weinidingJavaData.WndMembers;
import weinidingJavaData.WndDesigners;
import weinidingJavaData.WndFirms;                     //需要自己引入的外部类
/**
*
* @author 春霏
*/
@WebServlet(name = "logupServlet", urlPatterns = {"/logupServlet"})
public class logupServlet extends HttpServlet {

public logupServlet(){
super();
}
/**
* Processes requests for both HTTP <code>GET</code> and <code>POST</code>
* methods.
*
* @param request servlet request
* @param response servlet response
* @throws ServletException if a servlet-specific error occurs
* @throws IOException if an I/O error occurs
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response)         //dopost方法用来接收前端用post方法传过来的参数
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
String name=request.getParameter("username");
String password=request.getParameter("password");
String designers=request.getParameter("designer");
String firms=request.getParameter("firm");
String members=request.getParameter("member");                            //获取到参数并赋值给变量

if(designers!=null){
WndDesigners designer=new WndDesigners();
designer.setWndDesignersname(name);
designer.setWndDesignerspw(password);
MyConnection my=new MyConnection();
my.init();
try {
my.search2(name, password);
} catch (SQLException ex) {
Logger.getLogger(logupServlet.class.getName()).log(Level.SEVERE, null, ex);
}

processRequest(request, response);                           //登陆成功后响应的界面

}
if(members!=null){
WndMembers member=new WndMembers();
member.setWndMembersname(name);
member.setWndMemberspw(password);
MyConnection my=new MyConnection();
my.init();
try {
my.search(name, password);
} catch (SQLException ex) {
Logger.getLogger(logupServlet.class.getName()).log(Level.SEVERE, null, ex);
}

processRequest(request, response);

}

processRequest(request, response);
}
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
try (PrintWriter out = response.getWriter()) {
/* TODO output your page here. You may use following sample code. */
out.println("<!DOCTYPE html>");
out.println("<html>");
out.println("<head>");
out.println("<title>Servlet logupServlet</title>");
out.println("</head>");
out.println("<body>");
out.println("<h1>恭喜你登录成功!!!</h1>");
out.println("</body>");
out.println("</html>");
}
}

// <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
/**
* Handles the HTTP <code>GET</code> method.
*
* @param request servlet request
* @param response servlet response
* @throws ServletException if a servlet-specific error occurs
* @throws IOException if an I/O error occurs
*/
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}

/**
* Handles the HTTP <code>POST</code> method.
*
* @param request servlet request
* @param response servlet response
* @throws ServletException if a servlet-specific error occurs
* @throws IOException if an I/O error occurs
*/
@Override

/**
* Returns a short description of the servlet.
*
* @return a String containing servlet description
*/

public String getServletInfo() {
return "Short description";
}// </editor-fold>

}

Java EE之servlet实现用户登录的更多相关文章

  1. Java Spring+Mysql+Mybatis 实现用户登录注册功能

    前言: 最近在学习Java的编程,前辈让我写一个包含数据库和前端的用户登录功能,通过看博客等我先是写了一个最基础的servlet+jsp,再到后来开始用maven进行编程,最终的完成版是一个 Spri ...

  2. Servlet——简单用户登录实例+http协议解析

    编写项目.用户登录系统1.0版本号 登录界面Servlet: package com.gavin.view; import java.io.IOException; import java.io.Pr ...

  3. Servlet+jsp用户登录加上验证码

    最近公司有个项目被客户拿去进行漏洞扫描,发现用户登录太简单,容易被暴力破解.当然发现的问题很多,什么反射型XSS,存储型XSS,敏感信息泄露等等.但是我们今天不讲这么多,就说说如何修复暴力破解的问题. ...

  4. Java EE之Servlet

    1.创建Servlet类 Servlet在Java EE API规范中的定义: Servlet是一个运行在Web服务器中的Java小程序.Servlet将会接收和响应来自Web客户端的请求,使用HTT ...

  5. Java SSH框架系列:用户登录模块的设计与实现思路

    1.简介用户登录模块,指的是根据用户输入的用户名和密码,对用户的身份进行验证等.如果用户没有登录,用户就无法访问其他的一些jsp页面,甚至是action都不能访问.二.简单设计及实现本程序是基于Jav ...

  6. Java EE javax.servlet中的ServletContext接口

    ServletContext接口 public interface ServletContext (https://docs.oracle.com/javaee/7/api/javax/servlet ...

  7. 用servlet实现用户登录案例

    以下实现登录窗口 Login.jsp <!--Login.jsp--> <%@ page language="java" import="java.ut ...

  8. java后台通过Servlet给用户发送手机短信验证码,第一次写勿喷,欢迎转载

    短信验证码跟自己在Servlet画的验证码不一样,我们不用管短信验证码是怎么产生的,我们只需要关注如何调用短信验证码,在短信验证码里面添加 自己需要的随机数或者其他的内容. 现在直接上流程 第一步找一 ...

  9. Servlet实现用户登录

    1.登录过程分析: 通过表单收集用户的数据,Servlet通过request对象获得用户提交的数据,服务器还需要从数据库中通过sql语句查询有没有表单提交的数据中的用户.有则登录成功,否则,登录失败. ...

随机推荐

  1. Apache Curator: Zookeeper客户端

    Apache Curator Framework url: http://curator.apache.org/curator-framework/ The Curator Framework is ...

  2. c语言经典算法——猴子偷桃问题

    题目:海滩上有一堆桃子,五只猴子来分.第一只猴子把这堆桃子凭据分为五份,多了一个,这只猴子把多的一个扔入海中,拿走了一份.第二只猴子把剩下的桃子又平均分成五份,又多了一个,它同样把多的一个扔入海中,拿 ...

  3. Jquery attr("checked") 返回checked或undefined 获取选中失效解决方案

    jq1.6之前版本获取方式<input type='checkbox' id='cb'/> <script> //获取是否选中 var isChecked = $('#cb') ...

  4. 【bzoj1672】[USACO2005 Dec]Cleaning Shifts 清理牛棚

    题目描述 Farmer John's cows, pampered since birth, have reached new heights of fastidiousness. They now ...

  5. Hibernate之缓存的原理

    一.关于缓存: 其实对于缓存而言,它其实就是一块内存空间,在这个空间中存放了相互关联的持久化对象, 也就是存在于Session缓存内的对象,那么Session负责根据持久化对象的状态变化来同步的更新数 ...

  6. less入门

    less入门 安装 首先安装node,执行命令 node install -g less安装完成后可以在任意窗口中使用lessc命令,将.less文件编译成css文件. 变量 可以像其他语言一样声明变 ...

  7. C#微信公众号开发系列教程二(新手接入指南)

    http://www.cnblogs.com/zskbll/p/4093954.html 此系列前面已经更新了两篇博文了,都是微信开发的前期准备工作,现在切入正题,本篇讲解新手接入的步骤与方法,大神可 ...

  8. Markdown 语法简要介绍

    =================MarkDown================= Markdown 是一种方便记忆.书写的纯文本标记语言,用户可以使用这些标记符号以最小的输入代价生成极富表现力的文 ...

  9. C++指针参数引用

    粘个代码占位置,以后有时间把指针函数,函数指针都补上 #include <iostream> using namespace std; void freePtr1(int* p1){ /* ...

  10. toast组件小结

    简介:toast是"吐司"的意思,它属于android杂项组件,是一个简单的消息提示框,类似于javascript中的alert. 作用 显示文本 显示图片 显示图文 3.常用方法 ...