java登录代码_JavaWeb登陆功能实现代码

本文实例为大家分享了JavaWeb登陆功能的方法,供大家参考,具体内容如下

首先我们要JavaWeb登陆的基本流程:JSP页面发送请求——>Servlet——>Servlet通过调用方法从数据库中得到数据并将结果返回页面。

我们先建立三个jsp页面,包括login.jsp(登陆页面)、index.jsp(显示登陆成功后的信息)、error.jsp(登录失败的页面),其中后两个页面的内容可以随意写,而login.jsp页面的主要内容如下:

用户名:

密码:

在login.jsp文件的开头我们需要将pageEncoding="ISO-8859-1"改为pageEncoding="utf-8"(同时不要忘记设置开发工具的编码格式,不然jsp页面会显示乱码)

根据用户名和密码两个属性我们建立相应的实体类,并添加get和set方法,代码如下:

public class User {

private String userName;

private String password;

public String getUserName() {

return userName;

}

public void setUserName(String userName) {

this.userName = userName;

}

public String getPassword() {

return password;

}

public void setPassword(String password) {

this.password = password;

}

}

而jsp页面中的action=“LoginServlet”是指将请求发送到Servlet处理。接下来我们转到Servlet来进行处理:

import java.io.IOException;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import com.test.dao.UserDao;

//创建时为Servlet而不是Class,需要在web.xml中进行配置,配置的代码Myeclipse将自动生成

public class LoginServlet extends HttpServlet {

//创建UserDao的对象,以便于查询数据库

UserDao userDao=new UserDao();

//以下doGet方法和doPost方法分别对应form表单中的method="get"和method="post"

public void doGet(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

}

public void doPost(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

//利用getParameter方法获取到前台文本框中输入的值,其中括号内的内容为标签中的name属性

String userName=request.getParameter("userName");

String password=request.getParameter("password");

//调用UserDao中的getSelect方法并获取到返回值

boolean flag=userDao.getSelect(userName, password);

//若用户名和密码存在则转发到index.jsp页面,否则重定向到error.jsp页面

if (flag) {

request.getRequestDispatcher("index.jsp").forward(request, response);

}

else

response.sendRedirect("error.jsp");

}

}

注释 中已经说的很明白了,就不再重复了,可以看看第26行和29行,其中26行是转发,29行是重定向,感兴趣的小伙伴可以查查两者的区别。剩下的一部分就是我们之前提到过的关于数据库的查询操作了,我们在23行进行了调用,下面我们完成调用的方法:

package com.test.dao;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.PreparedStatement;

import java.sql.ResultSet;

public class UserDao {

//连接数据库的代码

public Connection getCon() {

//数据库连接名称

String username="root";

//数据库连接密码

String password="";

String driver="com.mysql.jdbc.Driver";

//其中test为数据库名称

String url="jdbc:mysql://localhost:3306/test";

Connection conn=null;

try{

Class.forName(driver);

conn=(Connection) DriverManager.getConnection(url,username,password);

}catch(Exception e){

e.printStackTrace();

}

return conn;

}

//进行查询的方法,若含有满足条件的数据则返回true

public boolean getSelect(String userName,String password) {

boolean flag=false;

String sql = "select * from user where userName='"+userName+"' and password='"+password+"'";

Connection conn = getCon();

PreparedStatement pst = null;

try {

pst = (PreparedStatement) conn.prepareStatement(sql);

ResultSet rs = pst.executeQuery();

if (rs.next()) {

flag=true;

}

} catch (Exception e) {

}

return flag;

}

}

在这个方法中我们首先连接数据库,然后在查询的方法中传入从jsp页面获取到的userName和password,判断数据库中是否存在此用户名和密码的用户,如果存在则返回true,否则返回false(不要忘记导入数据库链接的包)。

至于数据库中的字段则参照实体类User建立即可,即包含userName和password两个属性,如果数据库链接还有问题的请参照之前的关于数据库部分的随笔。

最后看一下web.xml中的配置:

LoginServlet

com.test.servlet.LoginServlet

LoginServlet

/LoginServlet

其中中的可以随意写,只需要保证上下两部分相同即可。

然后是是自己定义的Servlet的路径(包含包名),最后是,里面的内容也可以随意写,但是jsp页面中form表单的action属性必须与此名称相同(action中不包含"/")

最后我们需要将web项目发布到tomcat中然后在浏览器输入:http://localhost:8080/项目名称/login.jsp就可以进行访问并登陆了。

这只是一个简单的应用,目的是为了帮助各位小伙伴了解jsp+servlet开发的基本流程,当然我们在实际开发的过程中会进行更为精细的分割,包括接口,实现类等。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值