使用java,tomcat,mysql实现登录功能
来源:互联网 发布:时间安排手机软件 知乎 编辑:程序博客网 时间:2024/06/09 19:58
第一步,创建动态web项目
New-Other找到web下的Dynamic Web Project点击Next
输入项目名,完成即可
第二步,导入JDBC包,和配置Tomcat服务
导入jar包参考下面链接里的普通方法,这里不多加介绍
http://blog.csdn.net/children_of_light/article/details/54985869
配置Tomcat服务如图,找到Window-Preferences-Server-Runtime Environm然后点击Add…然后OK
这时按需求选择需要的Tomcat版本,这里例子是选择Tomcat v8.0,你可以Next选择Tomcat路径,或者你是老司机已经设置过路径,就可以直接Finish
接下来右键你的项目,点击Build Path-Cononfigure Build Path…在新窗口中找到jva Build Path点击Add Library…然后OK
在新窗口选择Server Runtime然后Next
最后选择刚才选择好的Tomcat按Finish,这样就算启动好服务了
第三步关键代码
下面是登录界面JSP的表单代码,需要注意的点有在,记得加上type=“submit”,
<form class="login" action="loginservlet" method="post"> <p class="title">Log in</p> <input type="text" placeholder="Username" autofocus name="username" /> <i class="fa fa-user"></i> <input type="password" placeholder="Password" name="password" /> <i class="fa fa-key"></i> <a href="#">Forgot your password?</a> <button type="submit"> <i class="spinner"></i> <span class="state">Log in</span> </button> </form>
接下来要创建一个容器servlet,这里右键项目,New,Servlet
在新窗口空白处码输入包名和类名(要创建的包和要创建的类)
在刚刚创建好的类中,我们改造一下代码,这个类能获取到前端表单下的代码
类默认有两个方法,doPost(),和doGet()
因为我们前面的前端代码使用的是method=”post”
所以我们只要改doPost()即可
import java.io.IOException;import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;/** * Servlet implementation class loginservlet */@WebServlet("/loginservlet")public class loginservlet extends HttpServlet { private static final long serialVersionUID = 1L; /** * @see HttpServlet#HttpServlet() */ public loginservlet() { super(); // TODO Auto-generated constructor stub } /** * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) */ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doPost(request, response); } /** * request请求 * response响应 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {System.out.println("数据穿到这里"); String username = request.getParameter("username");//获取表单中name="username" String userpassword = request.getParameter("password");//获取表单中nam="password"的数据 System.out.println(username + "," + userpassword);//测试是否能够传到这里 //接下来是验证表单数据是否与数据库数据相匹配 sqlD util = new sqlD(); //jdbc连接数据库的类 if (util.login(username, userpassword) == 1) { //在sqlD类中的login方法,如果返回值为1,if语句为true System.out.println("登录成功!"); response.sendRedirect("suce.jsp"); //跳转到登录成功的页面 /*第二种跳转方式,并且能够传参 * request.setAttribute("username", username); * request.getRequestDispatcher("suce.jsp").forward(request, response); */ }else { //如果if语句为false,跳转会登录界面或者跳转到失败界面 System.out.println("登录失败!"); response.sendRedirect("NewFile.jsp"); } }}
下面是连接数据库的类
在类中还有比较从doPost()方法传来的参数与数据库数据是否相等的方法
/** * 数据库工具类 * @author Administrator * */import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;public class sqlD { public static Connection getConnection(){ //连接数据库的方法 //与特定数据库的连接(会话)。在连接上下文中执行 SQL 语句并返回结果。 Connection conn=null; //连接的IP加端口号 //数据库名 //跳过安全认证 String ip="jdbc:mysql://localhost:3306/oli?useSSL=false"; String username="root"; //数据库用户名 String password="123456";//数据库用户密码 try { //返回与带有给定字符串名的类或接口相关联的 Class 对象。 Class.forName("com.mysql.jdbc.Driver");//指向jdbc包下的"com.mysql.jdbc.Driver"类//管理一组 JDBC 驱动程序的基本服务。 //试图建立到给定数据库 URL 的连接。 conn=DriverManager.getConnection(ip,username,password); } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } return conn; }public int login(String username,String userpassword){ //将doPost()传来的值和数据库用户密码表的数据相比较 Connection conn = getConnection();//与特定数据库的连接(会话)。在连接上下文中执行 SQL 语句并返回结果。 if (conn != null) { Statement stat = null; ResultSet rs = null;//表示数据库结果集的数据表, try { stat = conn.createStatement(); //创建一个 Statement 对象来将 SQL 语句发送到数据库。 //数据库条件查询语句 String sql = "select * from user where username='"+username+"' and userpassword='"+userpassword+"'"; rs = stat.executeQuery(sql);//executeQuery()执行给定的 SQL 语句,该语句返回单个 ResultSet 对象。 if (rs.next()) { //有返回结果集为true,帐号密码正确 return 1;//方法返回1 }else { return 0;//方法返回0 } } catch (SQLException e) { e.printStackTrace(); } } return 0; //方法返回0 }}
从表单中输入帐号密码,再将数据传到doPost方法,在传到数据库连接方法中的查询方法做出比较,如果有结果集返回就是帐号密码正确。通过返回值,我们可以在判断语句中设置跳转界面。
登录功能实现成功
- 使用java,tomcat,mysql实现登录功能
- 使用Tomcat j_security_check实现用户登录、注销功能
- java实现登录功能
- 使用jsp+servlet+mysql+tomcat实现登录网页设计
- Java+Tomcat+MySQL实现简单的网页注册和登录
- 在Eclipse中用Java和MySql数据库实现登录功能
- servlet+jsp+jdbc实现简单的登录功能(所用平台:win7+Eclipse+tomcat+mysql)
- Java使用cookie实现简单的单点登录功能
- 使用JDBC实现登录功能
- Java 实现单点登录功能
- MyEclipse+MySQL+Tomcat实现jsp登录
- JFinal+MySql实现登录注册功能
- java+Servlet+Tomcat 实现用户登录
- 使用php+ajax实现登录功能教程
- 使用js简单实现登录功能
- 使用SpringMVC+Angularjs实现登录功能
- 实验:使用SharedPreferences实现QQ登录功能
- 使用session实现登录判断功能
- Python将JSON格式数据转换为SQL语句以便导入MySQL数据库
- rectangle
- Island Perimeter
- 按钮点击事件外部类
- U3D继承及射线使用练习
- 使用java,tomcat,mysql实现登录功能
- Linux网络编程:使用select函数实现socket 收发数据
- LeetCode-13. Roman to Integer(罗马数字转阿拉伯数字)
- Java Nashorn--Part 2
- 完全二叉树的结点总数问题
- Git版本控制(2)
- Windows7 上运行docker实战
- noi-7543-统计满足条件的4位数个数
- 异步操作校验工具awaitility快速入门