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

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

1

2 用户名:

3 密码:

4

5

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

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

1 public classUser {2 privateString userName;3 privateString password;4 publicString getUserName() {5 returnuserName;6 }7 public voidsetUserName(String userName) {8 this.userName =userName;9 }10 publicString getPassword() {11 returnpassword;12 }13 public voidsetPassword(String password) {14 this.password =password;15 }16 }

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

1 importjava.io.IOException;2

3 importjavax.servlet.ServletException;4 importjavax.servlet.http.HttpServlet;5 importjavax.servlet.http.HttpServletRequest;6 importjavax.servlet.http.HttpServletResponse;7

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

10 public class LoginServlet extendsHttpServlet {11 //创建UserDao的对象,以便于查询数据库

12 UserDao userDao=newUserDao();13 //以下doGet方法和doPost方法分别对应form表单中的method="get"和method="post"

14 public voiddoGet(HttpServletRequest request, HttpServletResponse response)15 throwsServletException, IOException {16 }17 public voiddoPost(HttpServletRequest request, HttpServletResponse response)18 throwsServletException, IOException {19 //利用getParameter方法获取到前台文本框中输入的值,其中括号内的内容为标签中的name属性

20 String userName=request.getParameter("userName");21 String password=request.getParameter("password");22 //调用UserDao中的getSelect方法并获取到返回值

23 boolean flag=userDao.getSelect(userName, password);24 //若用户名和密码存在则转发到index.jsp页面,否则重定向到error.jsp页面

25 if(flag) {26 request.getRequestDispatcher("index.jsp").forward(request, response);27 }28 else

29 response.sendRedirect("error.jsp");30 }31

32 }

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

1 packagecom.test.dao;2

3 importjava.sql.Connection;4 importjava.sql.DriverManager;5 importjava.sql.PreparedStatement;6 importjava.sql.ResultSet;7

8 public classUserDao {9 //连接数据库的代码

10 publicConnection getCon() {11 //数据库连接名称

12 String username="root";13 //数据库连接密码

14 String password="";15 String driver="com.mysql.jdbc.Driver";16 //其中test为数据库名称

17 String url="jdbc:mysql://localhost:3306/test";18 Connection conn=null;19 try{20 Class.forName(driver);21 conn=(Connection) DriverManager.getConnection(url,username,password);22 }catch(Exception e){23 e.printStackTrace();24 }25 returnconn;26 }27 //进行查询的方法,若含有满足条件的数据则返回true

28 public booleangetSelect(String userName,String password) {29 boolean flag=false;30 String sql = "select * from user where userName='"+userName+"' and password='"+password+"'";31 Connection conn =getCon();32 PreparedStatement pst = null;33 try{34 pst =(PreparedStatement) conn.prepareStatement(sql);35 ResultSet rs =pst.executeQuery();36 if(rs.next()) {37 flag=true;38 }39 } catch(Exception e) {40 }41 returnflag;42 }43 }

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

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

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

1 <?xml version="1.0" encoding="UTF-8"?>

2

3

4 LoginServlet

5 com.test.servlet.LoginServlet

6

7

8

9 LoginServlet

10 /LoginServlet

11

12

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

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

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

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

希望大家好好学习,天天向上!!(Study hard and make progress every day!!)

java web登录action_JavaWeb中登陆功能相关推荐

  1. web csrf java_在Java Web应用程序中阻止CSRF

    web csrf java 跨站点请求伪造攻击(CSRF)在Web应用程序中非常常见,如果允许,可能会造成重大危害. 如果您从未听说过CSRF,建议您查看有关它的OWASP页面 . 幸运的是,阻止CS ...

  2. 在Java Web应用程序中阻止CSRF

    跨站点请求伪造攻击(CSRF)在Web应用程序中非常常见,如果允许,可能会造成重大危害. 如果您从未听说过CSRF,建议您查看有关它的OWASP页面 . 幸运的是,阻止CSRF攻击非常简单,我将向您展 ...

  3. java web里实现 mvc_MVC模式在Java Web应用程序中的实现

    一.MVC简介: MVC架构是一个复杂的架构,其实现也显得非常复杂..Views可以看作一棵树,可以用Composite Pattern来实现.Views和Models之间的关系可以Observer  ...

  4. MVC模式 在Java Web应用程序中的实现

    一.MVC简介 MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑.数据.界面显示分 ...

  5. 百家与g对比oogle_如何在Java Web应用程序中集成G​​oogle reCAPTCHA

    百家与g对比oogle I never liked Captchas because the burden was always on end user to understand the lette ...

  6. cas java web,CAS干单点登陆(SSO)——集成Java Web 项目

    在应用WEB-INF/web.xml添加filter的内容,效果如下所示 org.jasig.cas.client.session.SingleSignOutHttpSessionListener C ...

  7. eclipse导入java web项目_Eclipse中轻松导入web项目的方法

    今天介绍的是Eclipse中轻松导入web项目的方法,相信通过了解Eclipse中轻松导入web项目的操作步骤,大家对Eclipse编程工具一定会有更多的了解的! Eclipse中轻松导入web项目的 ...

  8. java程序暂停指令_Javascript中暂停功能的实现代码

    /*Javascript中暂停功能的实现 Javascript本身没有暂停功能(sleep不能使用)同时 vbscript也不能使用doEvents,故编写此函数实现此功能. javascript作为 ...

  9. java web 登录_javaWeb实现登录功能

    1.三要素 (1) 入口 就是我们所在的页面 入口到处理的数据请求会出现乱码,用request.SetCharacterEncoding("UTF-8");来解决,仅仅是用用于Po ...

最新文章

  1. Navicat Premium mysql
  2. Java BigInteger类| isProbablePrime()方法与示例
  3. element表格动态列、本地分页、动态form、自定义校验集成
  4. 数据库周刊 | DBA 核心技能
  5. 阿里再发最严口罩禁令;铁路再次调整免费退票;iOS 13.4 测试版发布 | 极客头条...
  6. matlab按行读文件
  7. 解决Eclipse出现的Failure to transfer ... jar问题
  8. PHP四合一小说漫画听书视频网站源码 带采集
  9. 虚拟机服务器断网,Vmware虚拟机断网不能上网的解决方法教程[多图]
  10. 淘宝小程序开发demo下载
  11. use after free double free利用
  12. 转——韩寒:一个流传多年的谣言
  13. linux学习工具:工欲善其事必先利其器(2)
  14. 软件测试培训之十个无脚本测试方案
  15. esim办理出现差错_中国联通科普eSIM卡使用攻略 关于eSIM卡常见问题答疑
  16. Python文件和数据格式化(教程)
  17. Matlab遗传算法神经网络泰坦尼克号
  18. 在Visio中实现任意两点之间的连线
  19. Python 抓取知识星球内容生成词云并生成 PDF
  20. ERASOR:解决动态环境下的SLAM建图问题,有效过滤动态物体(ICRA2021)

热门文章

  1. Python 私有变量的访问和赋值
  2. win下配置nginx
  3. Java 运算符及优先级
  4. 制作404页面的重要性
  5. UIKit框架各个类的简介
  6. PB中函数测试遇到的问题
  7. System variables, logging and the Execute SQL Task...(zz)
  8. es6 --- Thunk函数的作用
  9. wds+mdt 分布式自动部署 操作系统
  10. 16、Python与设计模式--模板模式