JAVA实验用户登录代码

out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");
out.println("<HTML>");
out.println(" <HEAD><TITLE>A Servlet</TITLE></HEAD>");
*/
public void init() throws ServletException {
// Put your code here
}
}
User部分:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
*/
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
User newUser = new User();
erName = request.getParameter("ID_USER");
doGet(request, response);
}
/**
* Initialization of the servlet. <br>
*
* @throws ServletException if an error occurs
*/
public void init() throws ServletException {
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class Login extends HttpServlet {
import java.sql.SQLException;
import java.sql.Statement;
public class User {
public String userName;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class Loginuser extends HttpServlet {
/**
* Constructor of the object.
out.println(" <BODY>");
out.println("<p style=\"text-align: center\">");
if (User.k1(newUser))
out.println("登陆成功!");
else
out.println("登陆失败!");
out.println("</P>");
out.println("</p>");
out.println("<p style=\"text-align: center\">");
out.println("<label for=\"ID_PASS\">密 码:</label>");
out.println("<input type=\"text\" name=\"ID_PASS\" id=\"ID_PASS\" />");
*
* @param request the request send by the client to the server
* @param response the response send by the server to the client
* @throws ServletException if an error occurred
out.println("<HTML>");
out.println("<HEAD>");
out.println("<TITLE>A Servlet</TITLE></HEAD>");
out.println(" <BODY>");
out.print("<form id=\"form1\" name=\"form1\" method=\"post\" action=\"./loginuser\">");
* @throws IOException if an error occurred
*/
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
newUser.passWord = request.getParameter("ID_PASS");
response.setContentType("text/html");
response.setCharacterEncoding("utf-8");
PrintWriter out = response.getWriter();
out.print("<p style=\"text-align: center\">");
out.println("<label for=\"ID_USER\">用户名:</label>");
out.println("<input type=\"text\" name=\"ID_USER\" id=\"ID_USER\" />");
*/
public Loginuser() {
super();
}
/**
* Destruction of the servlet. <br>
*/
public void destroy() {
super.destroy(); // Just puts "destroy" string in log
// Put your code here
* @param response the response send by the server to the client
* @throws ServletException if an error occurred
* @throws IOException if an error occurred
// Put your code here
}
}
Loginuser部分:
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
response.setCharacterEncoding("gb2312");
PrintWriter out = response.getWriter();
out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");
* @param response the response send by the server to the client
* @throws ServletException if an error occurred
* @throws IOException if an error occurred
}
/**
* The doGet method of the servlet. <br>
*
* This method is called when a form has its tag value method equals to get.
*
* @param request the request send by the client to the server
out.println(" </BODY>");
out.println("</HTML>");
out.flush();
out.close();
}
/**
* Initialization of the servlet. <br>
合集下载

eclipse连接数据库并实现用户注册登录功能

eclipse连接数据库并实现用户注册登录功能

eclipse连接数据库并实现⽤户注册登录功能⽬录MySQL配置环境变量navicat部署tomcat导⼊驱动修改代码连接mysql数据库⽂章⽬录 MySQL配置环境变量navicat部署tomcat导⼊驱动修改代码连接mysql数据库运⾏:MySQL配置环境变量mysql肯定是必不可少的,这个就不⽤多说了,⾃⼰去官⽹下载就⾏我们来配置⼀下mysql的环境变量步骤:我的电脑右键——属性——⾼级系统——环境变量在系统变量下点击新建:变量名:MYSQL_HOME变量值:C:\phpStudy\PHPTutorial\MySQL这⾥的变量值填的是⾃⼰mysql所在的⽂件夹,以⾃⼰电脑路径为准然后找到path,点击编辑,然后新建⼀个%MYSQL_HOME%\bin点击确定(共三个)测试在windows命令⾏下输⼊mysql -u root -p按下回车,输⼊密码即可进⼊数据库navicat我⾃⼰电脑⽤的是phpstudy,感觉更⽅便⼀点,集成环境,并且有可视化⼯具,这⾥推荐使⽤navicat(有破解教程)提取码: wumm部署tomcat我们点击菜单栏windows>>preference>>在左边栏找到server>>Runtime Environme点击add,添加tomcat选择需要的版本,点击next,选择⾃⼰安装的tomcat路径点击finish:tomcat版本不要太⾼,不然可能会出现报错;新建⼀个web项⽬其他选择默认,next>>next>>next>>finish将tomcat服务器显⽰在控制台上,以及将web应⽤部署到tomcat中1、window>>show view>>servers2、点击控制台链接:No servers are available. Click ths link to create a new server.3、在弹出的对话框中选择tomcat版本4、点击next,添加我们的项⽬:选中我们的项⽬,点击add,finish。

java用户登录界面的代码

java用户登录界面的代码

java用户登录界面的代码以下是一个简单的Java用户登录界面的代码示例,其中包括了GUI界面设计和用户验证的代码:```javaimport javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JTextField;import javax.swing.JPasswordField;import javax.swing.JButton;import java.awt.event.ActionListener;import java.awt.event.ActionEvent;public class LoginWindow extends JFrame implements ActionListener {private JLabel usernameLabel, passwordLabel;private JTextField usernameTextField;private JPasswordField passwordField;private JButton loginButton;public LoginWindow() {setTitle("用户登录");setSize(400, 200);setLocationRelativeTo(null);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);usernameLabel = new JLabel("用户名:");passwordLabel = new JLabel("密码:");usernameTextField = new JTextField();passwordField = new JPasswordField();loginButton = new JButton("登录");loginButton.addActionListener(this);setLayout(null);usernameLabel.setBounds(50, 30, 80, 25);passwordLabel.setBounds(50, 70, 80, 25);usernameTextField.setBounds(130, 30, 200, 25);passwordField.setBounds(130, 70, 200, 25);loginButton.setBounds(150, 120, 100, 25);add(usernameLabel);add(passwordLabel);add(usernameTextField);add(passwordField);add(loginButton);setVisible(true);}public void actionPerformed(ActionEvent e) {String username = usernameTextField.getText();String password = newString(passwordField.getPassword());if (isValidUser(username, password)) {System.out.println("用户登录成功!");// 在这里可以跳转到下一个界面} else {System.out.println("用户名或密码错误!");}}private boolean isValidUser(String username, String password) {// 在这里实现用户验证的代码// 比如查询数据库是否有该用户并且密码是否匹配等等// 如果验证成功则返回true,否则返回falsereturn false;}public static void main(String[] args) {new LoginWindow();}}```该代码创建了一个窗口界面,包括“用户名”和“密码”两个文本框,以及一个“登录”按钮。

qq登录界面设计java程序

qq登录界面设计java程序
zhanghao.setBorder(BorderFactory.createMatteBorder(1, 1, 1, 1, Color.WHITE));
zhanghao.setFont(new Font("宋体",Font.PLAIN,13));
this.add(zhanghao);*/
// zhanghaowb = new JLabel(new ImageIcon("2.png"));
zidongdenglu = new JCheckBox("自动登录");
zidongdenglu.setBounds(200, 190, 100, 30);
this.add(zidongdenglu);
jizhumima = new JCheckBox("记住密码");
jizhumima.setBounds(100, 190, 100, 30);
} catch (InstantiationException e1) {
// TODO 自动生成 catch 块
e1.printStackTrace();
} catch (IllegalAccessException e1) {
// TODO 自动生成 catch 块
e1.printStackTrace();
QQLogin w = new QQLogin();
w.setVisible(true);
}
});*/
new QQLogin();
}
public void mouseClicked(MouseEvent e) {
// TODO 自动生成方法存根

Java实现QQ登陆

Java实现QQ登陆

Java实现QQ登陆图②:图③:好了,效果就是这样了,虽然实现了基本功能,但是还是不完美,比如说好友面板不能随着窗口改变大小而改变,不过应该已经可以解决了,只是还没实践,下面就发上源代码:一共有三个类:MemberModel.java //显示类QQ似好友标签信息的模板类;TestPane.java //添加多个模板的容器类;TestFrame.java //窗体类;核心部分是前面两个类,注意,第二个类的布局方式不能为空,否则不能是容器显示滚动条,这是实现这个面板功能的一个难题,因为我不怎么会使用其他的布局方式,就只经常用空布局,经过这次才知道,光用空布局是不行的,空布局的应用受到了太多的限制。

在TestPane.java中添加好友信息的方式应该是代码添加黑名单信息的方式,可在其他类中调用方法,传递参数(数组)过来,然后对信息模板进行初始化,还有面板上的信息模板从程序刚开始运行就生成了,只是设置了不可见,后点击相关分类标签后的可视与不可视是同理的,也就是说你有多少个好友就一直会有多少个JLabel存在你的面板上,只是你可能看不见他们,我感觉自己的实现方式不是很好。

还有在我所用的这种布局方式中,显示Label的宽度是一定的,我不知道怎么设置他的宽度和高度,所以通过在Label上添加了一个白色图标(185 X 60)来使Label变宽,然后再添加模板JPanel,如果网友们还有好的解决方法,希望不吝赐教。

下面是源码:MemberModel.java 的源代:package coolbaby6;import javax.swing.ImageIcon;import javax.swing.JPanel;import javax.swing.JButton;import java.awt.Color;import java.awt.Rectangle;import javax.swing.JLabel;import java.awt.Dimension;import java.awt.Font;public class MemberModel{private static final long serialVersionUID = 1L;public JButton jButton = null;//显示好友头像;public JPanel jPanel = new JPanel();//模板容器;private JLabel lb_nickName = null;//显示昵称;private int pic;private String nickname = null;private JLabel lb_mood = null;//显示心情;public MemberModel(int pic, String nickname, int len) {super();this.pic = pic;//头像编(有多种方法可以实现,这种最简单)this.nickname = nickname;//昵称;initialize();}private void initialize() {lb_mood = new JLabel();lb_mood.setBounds(new Rectangle(51, 30, 131, 20));lb_mood.setFont(new Font("Dialog", Font.PLAIN, 12));lb_mood.setText("世界上最遥远的距离不是生与死,而是我站在你面前你却不知道我爱你!");lb_mood.addMouseListener(new java.awt.event.MouseAdapter() {public void mouseEntered(java.awt.event.MouseEvent e) {exchangeEnter();lb_mood.setToolTipText(lb_mood.getText());}public void mouseExited(java.awt.event.MouseEvent e) {exchangeExited();}});lb_nickName = new JLabel();lb_nickName.setBounds(new Rectangle(52, 10, 80, 20));lb_nickName.setFont(new Font("Dialog", Font.BOLD, 14));lb_nickName.setText(nickname);jPanel.setSize(new Dimension(185, 60));jPanel.setLayout(null);jPanel.add(getJButton(), null);jPanel.add(lb_nickName, null);jPanel.add(lb_mood, null);jPanel.addMouseListener(new java.awt.event.MouseAdapter() {public void mouseExited(java.awt.event.MouseEvent e) {exchangeExited();//鼠标移出模板区,改变背景颜色;}public void mouseEntered(java.awt.event.MouseEvent e) {exchangeEnter();//鼠标移进模板区,改变背景颜色;}});}private void exchangeEnter() {jPanel.setBackground(new Color(192,224,248));}private void exchangeExited() {jPanel.setBackground(null);}private JButton getJButton() {if (jButton == null) {jButton = new JButton();jButton.setBounds(new Rectangle(8, 10, 40, 40));jButton.setBackground(new Color(236, 255, 236));jButton.setIcon(new ImageIcon("head/"+pic + ".jpg"));jButton.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseExited(java.awt.event.MouseEvent e) {exchangeExited();//鼠标移出模板区,改变背景颜色;}public void mouseEntered(java.awt.event.MouseEvent e) {exchangeEnter();//鼠标移进模板区,改变背景颜色;}});}return jButton;}}TestPane.java 的源代码:package coolbaby6;import javax.swing.BorderFactory;import javax.swing.JPanel;import javax.swing.JLabel;import javax.swing.BoxLayout;import javax.swing.ImageIcon;public class TestPane extends JPanel {private static final long serialVersionUID = 1L;private JLabel jLabel = null;private JLabel jLabel1 = null;private JLabel jLabel11 = null;private JLabel jLabel12 = null;private int clickF=0;private int clickB=0;public TestPane() {super();initialize();}private void initialize() {jLabel12 = new JLabel();jLabel12.setIcon(new ImageIcon("img/bg.jpg"));jLabel12.add(new MemberModel(3,"CoolBabY3",200).jPanel);jLabel12.setBorder(BorderFactory.createEmptyBorder(2, 2, 2, 2)); jLabel11 = new JLabel();jLabel11.setIcon(new ImageIcon("img/bg.jpg"));jLabel11.add(new MemberModel(2,"CoolBabY2",200).jPanel);jLabel11.setBorder(BorderFactory.createEmptyBorder(2, 2, 2, 2)); jLabel1 = new JLabel();jLabel1.setIcon(new ImageIcon("img/bg.jpg"));jLabel1.add(new MemberModel(1,"CoolBabY1",200).jPanel);jLabel1.setBorder(BorderFactory.createEmptyBorder(2, 2, 2, 2)); jLabel = new JLabel();jLabel.setText("我的好友");jLabel.setIcon(new ImageIcon("img/ico.jpg"));jLabel.setBorder(BorderFactory.createEmptyBorder(2, 2, 2, 2)); jLabel.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEvent e) {clickF+=1;if(clickF%2==1){jLabel1.setVisible(false);jLabel11.setVisible(false);jLabel12.setVisible(false);jLabel.setIcon(new ImageIcon("img/ico2.jpg"));update();}else{jLabel1.setVisible(true);jLabel11.setVisible(true);jLabel12.setVisible(true);jLabel.setIcon(new ImageIcon("img/ico.jpg"));update();}}});this.setLayout(new BoxLayout(this, BoxLayout.Y_AXIS));this.setSize(200, 408);this.setLocation(20, 5);this.add(jLabel, null);this.add(jLabel1, null);this.add(jLabel11, null);this.add(jLabel12, null);addJLabel();}private void update(){//更新UI界面;this.updateUI();}private void clickBlack2(JLabel []jb){//点击标签,将后面的标签全部设为不可视; for(int i=1;i<jb.length;i++){try{jb[i].setVisible(false);}catch(Exception e){e.printStackTrace();}}update();}private void clickBlack(JLabel []jb){//点击标签,将后面的标签全部设为可视;for(int i=1;i<jb.length;i++){try{jb[i].setVisible(true);}catch(Exception e){e.printStackTrace();}}update();}private void addJLabel(){//添加黑名单的内容;final JLabel []jb=new JLabel[7];jb[0] = new JLabel();jb[0].setText("黑名单");jb[0].setIcon(new ImageIcon("img/ico2.jpg"));jb[0].setBorder(BorderFactory.createEmptyBorder(2, 2, 2, 2));jb[0].addMouseListener(new java.awt.event.MouseAdapter() {public void mouseClicked(java.awt.event.MouseEvent e) {clickB+=1;if(clickB%2==1){clickBlack(jb);jb[0].setIcon(new ImageIcon("img/ico.jpg"));}else{clickBlack2(jb);jb[0].setIcon(new ImageIcon("img/ico2.jpg"));}}});this.add(jb[0],null);for(int i=1;i<jb.length;i++){jb[i]=new JLabel();jb[i].setIcon(new ImageIcon("img/bg.jpg"));jb[i].setBorder(BorderFactory.createEmptyBorder(2, 2, 2, 2));jb[i].add(new MemberModel((i+3),"CoolBabY"+(i+3),200).jPanel);jb[i].setVisible(false);this.add(jb[i],null);}}TestFrame.java 的源代码:package coolbaby6;import javax.swing.JFrame;import javax.swing.JPanel;import javax.swing.JScrollPane;import javax.swing.ScrollPaneConstants;import javax.swing.SwingUtilities;public class TestFrame {private JFrame jFrame = null;private JPanel jContentPane = null;private JScrollPane scrollPane=null;public static void main(String[] args) {SwingUtilities.invokeLater(new Runnable() {public void run() {TestFrame application = new TestFrame();application.getJFrame().setVisible(true);}});}private JFrame getJFrame() {if (jFrame == null) {jFrame = new JFrame();jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);jFrame.setSize(230, 700);jFrame.setTitle("模拟实现QQ面板功能");jFrame.setContentPane(getJContentPane());}return jFrame;}private JScrollPane getScrollPane(){//给添加好友的容器JPanel添加滚动条;if(scrollPane==null){scrollPane=new JScrollPane(new TestPane());scrollPane.setBounds(20,5, 190, 600);scrollPane.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLL BAR_NEVER );//不显示水平滚动条;return scrollPane;}private JPanel getJContentPane() {//实例化底层的容器JPanel;if (jContentPane == null) {jContentPane = new JPanel();jContentPane.setLayout(null);jContentPane.add(getScrollPane());}return jContentPane;}}能成功编译成功我的源代码的方略:①、建一个项目,按我的类名建3个类,将源代码拷贝进去;②、在项目根目录下建一个名为img的文件夹,将要用到的图片放进去。

登录系统设计实验报告(3篇)

登录系统设计实验报告(3篇)

第1篇一、实验目的1. 熟悉登录系统的基本原理和设计流程。

2. 掌握使用常见开发工具进行登录系统设计的方法。

3. 提高编程能力和系统设计能力。

二、实验环境1. 操作系统:Windows 102. 开发工具:Java Web Development Kit (JDK) 1.83. 数据库:MySQL 5.74. 开发环境:Eclipse三、实验内容1. 需求分析2. 系统设计3. 系统实现4. 系统测试四、实验步骤1. 需求分析(1)用户需求登录系统应具备以下功能:1)用户注册:允许用户创建账户,输入用户名、密码、邮箱等基本信息。

2)用户登录:允许用户输入用户名和密码,验证用户身份。

3)找回密码:当用户忘记密码时,提供找回密码功能。

4)注销登录:允许用户退出登录状态。

(2)系统需求1)安全性:系统需保证用户数据的安全,防止数据泄露。

2)易用性:系统界面简洁,操作方便,易于用户使用。

3)稳定性:系统需具备良好的稳定性,能够应对高并发访问。

2. 系统设计(1)系统架构登录系统采用B/S(Browser/Server)架构,分为前端和后端两部分。

前端:使用HTML、CSS、JavaScript等技术实现用户界面。

后端:使用Java语言进行开发,结合MySQL数据库存储用户信息。

(2)模块设计1)用户注册模块:实现用户注册功能,包括输入用户名、密码、邮箱等基本信息。

2)用户登录模块:实现用户登录功能,验证用户身份。

3)找回密码模块:实现找回密码功能,允许用户通过邮箱或手机号找回密码。

4)注销登录模块:实现用户注销登录状态。

3. 系统实现(1)前端实现使用HTML、CSS、JavaScript等技术实现登录系统界面,包括注册、登录、找回密码等页面。

(2)后端实现1)使用Java语言实现用户注册、登录、找回密码等业务逻辑。

2)使用JDBC连接MySQL数据库,实现用户信息的存储和查询。

4. 系统测试(1)功能测试1)测试用户注册功能,确保用户可以成功注册账户。

JavaWeb实现用户登录与注册功能(服务器)

JavaWeb实现用户登录与注册功能(服务器)

JavaWeb实现⽤户登录与注册功能(服务器)本⽂实例为⼤家分享了JavaWeb实现⽤户登录与注册功能的具体代码,供⼤家参考,具体内容如下⽤到的知识客户端:HTML CSS JS (JQuery)服务器:JAVA基础 JSP Servlet JDBC Tomcat数据库:MySQL⽤到的Jar包 druid数据库连接池 dbutils JDBC数据库操作⼯具 MySQL jar包总体结构:思路:服务器部分采⽤JavaEE三层架构(1)、表现层:通俗讲就是展现给⽤户的界⾯,即⽤户在使⽤⼀个系统的时候他的所见所得。

(2)、业务逻辑层:针对具体问题的操作,也可以说是对数据层的操作,对数据业务逻辑处理。

(3)、数据访问层:该层所做事务直接操作数据库,针对数据的增添、删除、修改、查找等。

先创建基本的⽂件夹架构,三层的⽂件夹依次为web ,servlet ,DAO。

此外还有其他相关⽂件夹⼯具类utils,JAVABean类pojo,测试类test 。

依次实现从DAO层到Servce层再到Web层。

⽂件夹架构资源⽂件 jdbc.propertiesusername=rootpassword=123456url=jdbc:mysql://localhost:3306/bookdriverClassName=com.mysql.jdbc.DriverinitialSize=5maxActive=10⼀、DAO层0.写好JAVABean User类package com.book.pojo;public class User {private Integer id;private String username;private String password;private String email;public User() {}public User(Integer id, String username, String password, String email) {this.id = id;ername = username;this.password = password;this.email = email;}public Integer getId() {return id;}public void setId(Integer id) {this.id = id;}public String getUsername() {return username;}public void setUsername(String username) {ername = username;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}public String getEmail() {return email;}public void setEmail(String email) {this.email = email;}@Overridepublic String toString() {return "User{" +"id=" + id +", username='" + username + '\'' +", password='" + password + '\'' +", email='" + email + '\'' +'}';}}1.先实现数据连接JDBCUtilspackage com.book.utils;import com.alibaba.druid.pool.DruidDataSource;import com.alibaba.druid.pool.DruidDataSourceFactory;import java.io.File;import java.io.FileInputStream;import java.io.InputStream;import java.sql.Connection;import java.sql.SQLException;import java.util.Properties;public class JDBCUtils {private static DruidDataSource druidDataSource;//数据库连接池初始化static {try {InputStream resourceAsStream = JDBCUtils.class.getClassLoader().getResourceAsStream("jdbc.properties");//类加载器默认是从classPath路径加载资源 Properties properties = new Properties();properties.load(resourceAsStream);//创建数据库连接池druidDataSource = (DruidDataSource) DruidDataSourceFactory.createDataSource(properties);} catch (Exception e) {System.out.println("数据库连接池初始化异常");}}//获取数据库连接池中的连接public static Connection getConnection() {Connection connection= null;try {connection = druidDataSource.getConnection();} catch (SQLException throwables) {throwables.printStackTrace();}return connection;}public static void close(Connection connection) {try {connection.close();} catch (SQLException throwables) {throwables.printStackTrace();}}public static void main(String[] args) {JDBCUtils jdbcUtils=new JDBCUtils();System.out.println(jdbcUtils.getConnection());}}2.测试连接是否成功3.编写BaseDAO 实现对数据库的基本通⽤操作package com.book.DAO;import com.book.utils.JDBCUtils;import mons.dbutils.QueryRunner;import mons.dbutils.handlers.BeanHandler;import mons.dbutils.handlers.BeanListHandler;import mons.dbutils.handlers.ScalarHandler;import java.sql.Connection;import java.sql.SQLException;import java.util.ArrayList;import java.util.List;public abstract class BaseDAO {private QueryRunner queryRunner=new QueryRunner();//数据库通⽤操作,使⽤dbutils来操作//⽤来执⾏updata,delete,insertpublic int updata(String sql,Object...objects){Connection connection= JDBCUtils.getConnection();try {return queryRunner.update(connection,sql,objects);//返回影响的⾏数} catch (SQLException throwables) {throwables.printStackTrace();}return -1;}//⽤来执⾏查询操作public <T>T queryForOne(Class<T>clazz,String sql,Object...objects){Connection connection=JDBCUtils.getConnection();try {return queryRunner.query(connection,sql,new BeanHandler<T>(clazz),objects); } catch (Exception throwables) {throwables.printStackTrace();}return null;}//查询多个结果public <T>List<T> queryForList(Class<T>clazz,String sql,Object...objects){Connection connection=JDBCUtils.getConnection();List<T>list=new ArrayList<>();try {list=queryRunner.query(connection,sql,new BeanListHandler<T>(clazz),objects); } catch (SQLException throwables) {throwables.printStackTrace();}return list;}//查询单个数public Object queryForSingleValue(String sql,Object...objects){Connection connection= JDBCUtils.getConnection();try {return queryRunner.query(connection,sql,new ScalarHandler(),objects);} catch (SQLException throwables) {throwables.printStackTrace();}return null;}}4.编写UserDAO接⼝确定需要的操作package com.book.DAO;import er;public interface UserDAO {// 注册时判断是否该⽤户名已经被注册根据⽤户名查询⽤户信息如果返回null说明没有该⽤户public User queryUserByUsername(String username);//注册成功保存⽤户信息public int saveUser(User user);//登录操作根据⽤户名和密码查询⽤户查不到返回nullpublic User queryUserByUsernameAndPassword(String username,String password);}erDAOImpl实现UserDAO接⼝package com.book.DAO;import er;//所犯错误:继承的⼦类会有⽗类的全部⽅法,不要在⼦类中声明⽗类对象,调⽤⽗类⽅法public class UserDAOimpl extends BaseDAO implements UserDAO{@Overridepublic User queryUserByUsername(String username) {String sql="select * from users where username=?";User user =queryForOne(User.class,sql,username);return user;}//所犯错误:输⼊的邮箱不能重复@Overridepublic int saveUser(User user) {String sql="INSERT INTO `users`(`username`,`password`,`email`) VALUES(?,?,?)";int n;n = updata(sql,user.getUsername(),user.getPassword(),user.getEmail());return n;}@Overridepublic User queryUserByUsernameAndPassword(String username, String password) {String sql="select * from users where username=? and password=?";User user=queryForOne(User.class,sql,username,password);return user;}}⼆、Servlet层erServce接⼝确定业务需要的⽅法,⽤来与Web层进⾏交互package com.book.servlet;import er;//业务层⼀个业务⼀个⽅法public interface UserServce {//注册业务注册成功将⽤户保存到数据库中public void registUser(User user);//登录业务public User login(User user);//检查⽤户名是否可⽤返回true表⽰⽤户名已存在public boolean existUsername(String username);}erServceImpl类实现UserServce接⼝package com.book.servlet;import erDAO;import erDAOimpl;import er;public class UserServceImpl implements UserServce {private UserDAO userDAO=new UserDAOimpl();@Overridepublic void registUser(User user) {userDAO.saveUser(user);}@Overridepublic User login(User user) {return userDAO.queryUserByUsernameAndPassword(user.getUsername(),user.getPassword()); }@Overridepublic boolean existUsername(String username) {//⽤户名不存在if(userDAO.queryUserByUsername(username)==null){return false;}else {return true;}}}三、Web层1.注册操作package com.book.web;import er;import erServce;import erServceImpl;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import java.io.IOException;public class RegistServlet extends HttpServlet {@Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { UserServce userServce=new UserServceImpl();//获取请求参数String username=req.getParameter("username");String password=req.getParameter("password");String email=req.getParameter("email");String code=req.getParameter("code");//判断验证码是否正确忽略⼤⼩写if("6n6np".equalsIgnoreCase(code)){//判断是否存在⽤户名if(!userServce.existUsername(username)){//不存在则将注册信息写⼊数据库User user=new User(null,username,password,email);userServce.registUser(user);//请求转发到注册成功页⾯req.getRequestDispatcher("/pages/user/regist_success.jsp").forward(req,resp);}else{System.out.println("⽤户名已存在");//跳转到注册页⾯req.getRequestDispatcher("/pages/user/regist.jsp").forward(req,resp);}}else {System.out.println("验证码错误");//跳转到注册页⾯req.getRequestDispatcher("/pages/user/login.jsp").forward(req,resp);}}}2.登录操作package com.book.web;import er;import erServce;import erServceImpl;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import java.io.IOException;public class LoginServlet extends HttpServlet {private UserServce userServce=new UserServceImpl();@Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { //获取请求参数String username=req.getParameter("username");String password=req.getParameter("password");User user=new User(null,username,password,null);//判断⽤户的账号密码是否正确if(userServce.login(user)!=null){//登录成功跳转到登录成功页⾯System.out.println("登录成功");req.getRequestDispatcher("/pages/user/login_success.jsp").forward(req,resp);}else{//账号或密码不正确System.out.println("账号或密码不正确");req.getRequestDispatcher("/pages/user/login.jsp").forward(req,resp);}}}以上就是本⽂的全部内容,希望对⼤家的学习有所帮助,也希望⼤家多多⽀持。

java用户登录的代码

button1=new JButton("确定");
button2=new JButton("取消");
text=new JTextField(20);
pass=new JPasswordField(20);
button1.setMnemonic(KeyEvent.VK_O);//设置按钮快捷键
button2.setMnemonic(KeyEvent.VK_C);
text.setText("用户名及密码正确!");
pass.setText("");
}
else{
text.setText("");
pass.setText("");
}
}
else
System.exit(0);//退出程序
}
else
System.exit(0);//退出程序
}
}
public class LoginFrame extends JFrame {
public static void main(String[] args) {
MyJPanel jp=new MyJPanel();//定义面板
jp.setBorder(BorderFactory.createTitledBorder("输入用户名和密码"));//设定边界
JFrame frame=new JFrame("用户登录");
private JLabel label1,label2;
private JTextField text;
private JPasswordField pass;

java学生管理系统大作业代码

java学生管理系统大作业代码Java学生管理系统是一个基于Java语言开发的学生信息管理系统,用于方便学校教务人员进行学生信息的管理和查询。

以下是该系统的代码实现。

1. 登录界面代码实现该界面是用户登录的入口,用户需要输入用户名和密码才能进入系统。

```javaimport javax.swing.*;import java.awt.*;import java.awt.event.*;public class Login extends JFrame implements ActionListener {JLabel lb1, lb2, lb3;JTextField txtName;JPasswordField txtPwd;JButton btnOK, btnCancel;String userName = "admin";// 默认用户名String password = "123456";// 默认密码public Login() {setTitle("学生信息管理系统登录");// 设置窗体标题setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);// 设置窗体关闭方式setSize(350, 200);// 设置窗体大小setLocationRelativeTo(null);// 设置居中显示setLayout(new BorderLayout());JPanel pNorth = new JPanel();lb1 = new JLabel("欢迎使用学生信息管理系统", JLabel.CENTER); lb1.setFont(new Font("微软雅黑", Font.BOLD, 20));pNorth.add(lb1);add(pNorth, BorderLayout.NORTH);JPanel pCenter = new JPanel();pCenter.setLayout(new GridLayout(3, 2));lb2 = new JLabel("用户名:", JLabel.RIGHT);pCenter.add(lb2);txtName = new JTextField(20);pCenter.add(txtName);lb3 = new JLabel("密码:", JLabel.RIGHT);pCenter.add(lb3);txtPwd = new JPasswordField(20);txtPwd.setEchoChar('*');// 设置密码框的回显字符pCenter.add(txtPwd);btnOK = new JButton("登录");pCenter.add(btnOK);btnCancel = new JButton("取消");pCenter.add(btnCancel);add(pCenter, BorderLayout.CENTER);btnOK.addActionListener(this);btnCancel.addActionListener(this);setVisible(true);// 显示窗体}public void actionPerformed(ActionEvent e) {if (e.getSource() == btnOK) {String name = txtName.getText();// 获取用户名String password = new String(txtPwd.getPassword());// 获取密码 if (name.equals(userName) && password.equals(password)) {setVisible(false);new MainFrame();} else {JOptionPane.showMessageDialog(Login.this, "用户名或密码错误!", "登录失败", JOptionPane.ERROR_MESSAGE);}} else if (e.getSource() == btnCancel) {txtName.setText("");txtPwd.setText("");}}public static void main(String[] args) {new Login();}}```2. 主界面代码实现该界面是系统的主界面,包含了菜单栏、工具栏和表格显示区域。

java实现简单QQ登录界面

java实现简单QQ登录界⾯本⽂实例为⼤家分享了java实现简单QQ登录界⾯的具体代码,供⼤家参考,具体内容如下java在图形界⾯,不是太强项,但不是不可以做,它的开源是very nice!实现代码如下(想实现完美的界⾯,可能要更多coding的⽀持):package com.ts.x.swing;import java.awt.Color;import java.awt.Container;import java.awt.Cursor;import java.awt.Font;import java.awt.Image;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.ImageIcon;import javax.swing.JButton;import javax.swing.JCheckBox;import javax.swing.JComboBox;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JOptionPane;import javax.swing.JPasswordField;import javax.swing.JRootPane;import javax.swing.JTextField;public class QQ extends JFrame{private static final long serialVersionUID = -6788045638380819221L;//⽤户名private JTextField ulName;//密码private JPasswordField ulPasswd;//⼩容器private JLabel j1;private JLabel j2;private JLabel j3;private JLabel j4;//⼩按钮private JButton b1;private JButton b2;private JButton b3;//复选框private JCheckBox c1;private JCheckBox c2;//列表框private JComboBox<String> cb1;/*** 初始化QQ登录页⾯* */public QQ(){//设置登录窗⼝标题this.setTitle("QQ登录");//去掉窗⼝的装饰(边框)// this.setUndecorated(true);//采⽤指定的窗⼝装饰风格this.getRootPane().setWindowDecorationStyle(JRootPane.NONE);//窗体组件初始化init();this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//设置布局为绝对定位this.setLayout(null);this.setBounds(0, 0, 355, 265);//设置窗体的图标Image img0 = new ImageIcon("D:/logo.png").getImage();this.setIconImage(img0);//窗体⼤⼩不能改变this.setResizable(false);//居中显⽰this.setLocationRelativeTo(null);//窗体显⽰this.setVisible(true);}/*** 窗体组件初始化* */public void init(){//创建⼀个容器,其中的图⽚⼤⼩和setBounds第三、四个参数要基本⼀致(需要⾃⼰计算裁剪) Container container = this.getContentPane();j1 = new JLabel();//设置背景⾊Image img1 = new ImageIcon("D:/bgimg.png").getImage();j1.setIcon(new ImageIcon(img1));j1.setBounds(0, 0, 355, 265);//qq头像设定j2 = new JLabel();Image img2 = new ImageIcon("D:/hdimg.png").getImage();j2.setIcon(new ImageIcon(img2));j2.setBounds(40, 95, 50, 53);//⽤户名输⼊框ulName = new JTextField();ulName.setBounds(100, 100, 150, 20);//注册账号j3 = new JLabel("注册账号");j3.setBounds(260, 100, 70, 20);//密码输⼊框ulPasswd = new JPasswordField();ulPasswd.setBounds(100, 130, 150, 20);//找回密码j4= new JLabel("找回密码");j4.setBounds(260, 130, 70, 20);//记住密码c1 = new JCheckBox("记住密码");c1.setBounds(105, 155, 80, 15);//⾃动登陆c2 = new JCheckBox("⾃动登陆");c2.setBounds(185, 155, 80, 15);//⽤户登陆状态选择cb1 = new JComboBox<String>();cb1.addItem("在线");cb1.addItem("隐⾝");cb1.addItem("离开");cb1.setBounds(40, 150, 55, 20);//登陆按钮b1 = new JButton("登录");//设置字体和颜⾊和⼿形指针b1.setFont(new Font("宋体", Font.PLAIN, 12));b1.setForeground(Color.RED);b1.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));b1.setBounds(280, 200, 65, 20);//给按钮添加b1.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {String cmd = e.getActionCommand();if("登录".equals(cmd)){String username = ulName.getText();String userpassword = ulPasswd.getText();if(username.equals("tskk") && userpassword.equals("123456")){JOptionPane.showConfirmDialog(null, "登录成功");}else{JOptionPane.showConfirmDialog(null, "登录失败");}}}});//多账号b2 = new JButton("多账号");b2.setBounds(5, 200, 75, 20);//设置b3 = new JButton("设置");b3.setBounds(100, 200, 65, 20);//所有组件⽤容器装载j1.add(j2);j1.add(j3);j1.add(j4);j1.add(c1);j1.add(c2);j1.add(cb1);j1.add(b1);j1.add(b2);j1.add(b3);container.add(j1);container.add(ulName);container.add(ulPasswd);}public static void main(String[] args) {new QQ();}}运⾏结果界⾯为:以上就是本⽂的全部内容,希望对⼤家的学习有所帮助,也希望⼤家多多⽀持。

Java模拟用户登陆的简单案例

模拟用户登录【案例介绍】1.任务描述在使用一些APP时,通常都需要填写用户名和密码。

用户名和密码输入都正确才会登录成功,否则会提示用户名或密码错误。

本例要求编写一个程序,模拟用户登录。

程序要求如下:(1)用户名和密码正确,提示登录成功。

(2)用户名或密码不正确,提示“用户名或密码错误”。

(3)总共有3次登录机会,在3次内(包含三次)输入正确的用户名和密码后给出登录成功的相应提示。

超过3次用户名或密码输入有误,则提示登录失败,无法再继续登录。

在登录时,需要比较用户输入的用户名密码与已知的用户名密码是否相同,本案例可以使用Scanner类以及String类的相关方法实现比较操作。

2.运行结果登录成功的运行结果如图5-3所示图5-3 用户登录成功运行结果图登录失败的运行结果如图5-4所示图5-3 用户登录失败运行结果图【案例任务】●学会分析“模拟用户登录”任务的实现思路。

●根据思路独立完成“模拟用户登录”任务的源代码编写、编译及运行。

●掌握String类及Scanner类中常用方法的使用。

●掌握之前学习的if判断知识。

【案例思路】(1)分析任务描述可知,已知用户名密码,定义两个字符串表示即可。

(2)键盘录入要登录的用户名密码。

用Scanner实现。

(3)拿键盘录入的用户名密码和已知的用户名密码进行比较,给出相应的提示,字符串内容比较用equles实现。

(4)循环实现多次机会。

这里次数明确,用for循环实现。

并在登录成功的时候。

用break结束循环。

【案例实现】模拟用户登录的实现代码,如文件5-3所示。

文件5-3 example3.java1package com.itheima;2import java.util.Scanner;3public class example3 {4public static void main(String[] args) {5//已知用户名密码,定义两个字符串表示即可。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档