Java EE之servlet实现用户登录
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实现用户登录的更多相关文章
- Java Spring+Mysql+Mybatis 实现用户登录注册功能
前言: 最近在学习Java的编程,前辈让我写一个包含数据库和前端的用户登录功能,通过看博客等我先是写了一个最基础的servlet+jsp,再到后来开始用maven进行编程,最终的完成版是一个 Spri ...
- Servlet——简单用户登录实例+http协议解析
编写项目.用户登录系统1.0版本号 登录界面Servlet: package com.gavin.view; import java.io.IOException; import java.io.Pr ...
- Servlet+jsp用户登录加上验证码
最近公司有个项目被客户拿去进行漏洞扫描,发现用户登录太简单,容易被暴力破解.当然发现的问题很多,什么反射型XSS,存储型XSS,敏感信息泄露等等.但是我们今天不讲这么多,就说说如何修复暴力破解的问题. ...
- Java EE之Servlet
1.创建Servlet类 Servlet在Java EE API规范中的定义: Servlet是一个运行在Web服务器中的Java小程序.Servlet将会接收和响应来自Web客户端的请求,使用HTT ...
- Java SSH框架系列:用户登录模块的设计与实现思路
1.简介用户登录模块,指的是根据用户输入的用户名和密码,对用户的身份进行验证等.如果用户没有登录,用户就无法访问其他的一些jsp页面,甚至是action都不能访问.二.简单设计及实现本程序是基于Jav ...
- Java EE javax.servlet中的ServletContext接口
ServletContext接口 public interface ServletContext (https://docs.oracle.com/javaee/7/api/javax/servlet ...
- 用servlet实现用户登录案例
以下实现登录窗口 Login.jsp <!--Login.jsp--> <%@ page language="java" import="java.ut ...
- java后台通过Servlet给用户发送手机短信验证码,第一次写勿喷,欢迎转载
短信验证码跟自己在Servlet画的验证码不一样,我们不用管短信验证码是怎么产生的,我们只需要关注如何调用短信验证码,在短信验证码里面添加 自己需要的随机数或者其他的内容. 现在直接上流程 第一步找一 ...
- Servlet实现用户登录
1.登录过程分析: 通过表单收集用户的数据,Servlet通过request对象获得用户提交的数据,服务器还需要从数据库中通过sql语句查询有没有表单提交的数据中的用户.有则登录成功,否则,登录失败. ...
随机推荐
- 各种Js封装
获取ClassName元素 function getClass(classname,id){ if(document.getElementsByClassName){ if(id){ return $ ...
- 【UWP】通过特定URI打开Win10指定设置页面[转]
系统设置其实也是一个Modern应用,它与ms-settings:协议进行了关联. 在设置应用中的每一个具体的设置页面都有一个URI(统一资源标识符)与之对应,通过这些URI就可以直达某个具体的设置页 ...
- Linux搭建Nginx
1.Nginx安装 1.1 pcre (1)下载编译包 http://www.pcre.org/ (注意需要的是pcce,而非pcre2) (2)tar -zxvf pcre-8.36.tar.gz ...
- Visual Studio 版本转换工具WPF版开源了
想法的由来 入职一家新公司,领导给了个任务,要编写一个视频监控软件,等我编写调试好,领导满意了以后,这个软件要加入到公司的一个软件系统中去(这个添加工作不用我来做,嘻嘻,看着自己的软件被别人使用,心情 ...
- hdu 4481 Time travel(高斯求期望)(转)
(转)http://blog.csdn.net/u013081425/article/details/39240021 http://acm.hdu.edu.cn/showproblem.php?pi ...
- MRC迁移ARC之__block
今日帮着同事把老项目从MRC迁移至ARC,大部分工作无非是删除release,[super dealloc]等方法,只要关闭了MRC编译选项后,编译器能自动帮你检查,block就有一些不一样了,发现许 ...
- BugFree 测试管理系统
测试经理 分配 每个人的账号 新建bug -> bug已修复 -> 已验证 -> closed
- 修改html页面文字选中样式
::selection { background-color: #31B0D5; color: #fff; text-shadow: 0 1px 0 rgba(0,0,0,.2); }
- 菜鸟笔记:java变量命名及峰驼式命名法
如同酒店会给每个房间起个性化的名字一样,程序中的变量也需要用合理的名字进行管理---变量名! 需要注意,给酒店房间起名字时可以是数字,如"802",也可以是有趣的名字,如" ...
- python scipy学习-曲线拟合
根据某地每月的平均温度[17, 19, 21, 28, 33, 38, 37, 37, 31, 23, 19, 18]拟合温度函数. import numpy as np import matplot ...