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语句查询有没有表单提交的数据中的用户.有则登录成功,否则,登录失败. ...
随机推荐
- 关于struts2的过滤器和mybatis的插件的分析
网上一搜,发现一篇写的非常棒的博文,就直接复制过来了,供以后复习使用. 前辈博文链接:共三篇: http://jimgreat.iteye.com/blog/1616671: http://jimgr ...
- Web获取客户端物理MAC地址(ocx插件)
主要是通过ActiveX控件 从本地获取到MAC地址,传入到浏览器打开的网页中,再提交到服务器. 具体详解与步骤看文档中: 文件实例包下载 DotNetFX 文件夹附件文件:(可能安装时需用) dot ...
- Life Is A Funny Proposition After All
你们有没有坐下思考,感到疑惑 ,静静思考,我们为什么在这里 ,生活为什么如此这般 这个问题让无数聪明人喝酒买醉,这是最最奇怪的事情,他们都想弄清楚,科学家们可以展示上千种不同的理论,但从未证明这是为什 ...
- yii2图片处理扩展yii2-imagine的使用
示例控制器: <?php /** * 图片常用处理 * * 需要 yii/yii2-imagine 的支持 * php composer.phar require --prefer-dist y ...
- Linq学习笔记四之linq to sql 的基本操作
首先需要在项目中新增一个 linq to sql 的服务 新增项,数据,LINQ TO sql 类的这个方法 第二步需要一个model类,用作映射 [Table] public class S_ZD ...
- windows 上vmare超卡的问题解决方案
http://www.cnblogs.com/jlwen/p/3553722.html
- leveldb 性能、使用场景评估
最近有个业务写远远大于读,读也集中在最近写入,这不很适合采用leveldb存储么,leveldb业界貌似ssdb用得挺广,花了两天时间就ssdb简单做下测试,以下总结. ssdb 是leveldb的r ...
- ASP.NET MVC 5 使用autofac实现DI
使用Nuget添加Autofac.MVC的引用 启动项设置 注册Controller 注册ModelBinder 注册相关的web abstraction 为View层启用属性注入 为Action F ...
- [MySQL] MySQL存储过程常用的函数
一.字符串类 CHARSET(str) //返回字串字符集 CONCAT (string2 [,... ]) //连接字串 INSTR (string ,substring ) //返回substr ...
- vs2013在使用ReportView11时遇到的问题
最近在做项目中用到2013中的ReportView11 在本机IIS中使用完全没问题 但是放到服务器上总是出问题 解决办法:(1)首先在自己机器上开发的时候 是不用引用 Microsoft.R ...