java数据库登陆页面

摘要:
程序片段可以是:操作数据库并重定向网页。JavaScript是一种对象和事件驱动的脚本语言,具有安全特性。使用它的目的是将网页中的多个对象与HTML超文本标记语言和Java脚本语言链接在一起,以便与web客户端交互。

java数据库登陆页面第1张

下面是一些总结但是部分来源于网络。

1.java语言

2. 面向对象分析设计

  1. XML 语言
  2. 网页脚本语言
  3. 数据库
  4. 应用服务器
  5. 集成开发环境

.java语言:JSP、Servlet、JDBC、javaBean(Application)从这四部分开始创建web项目。

(一)java Database Connectivity(JBDC)技术

它是一种执行SQL语句的java API,由一组用java编程语言编写的类与接口组成,为开发人员提供了一个标准的API。

作用:1.与数据库建立连接

2.发送SQL语句

3.处理结果。

API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。API与系统调用的区别:系统调用代码都处于内核态,API是操作系统提供的一组函数,通常以库的形式存在,供用户调用。

(二)Servlet技术

Servlet是运行在服务器端的程序,可以认为是服务器端的applet,它被web服务器(Tomcat)加载和执行,然后从客户端接收该请求,执行某种操作,然后返回结果。

(三)JavaServer Pages(JSP)技术

从Servlet分离而来,简化了开发,加强界面设计。JSP容器收到客户端发出的请求时,首先执行其中的程序片段,然后将执行结果以HTML格式响应给客户端。程序片段可以是:操作数据库,重新定向网页。所有程序操作都在服务器端执行,网络上传送给客服端的仅是得到的结果,与客户端的浏览器无关。

JSP技术将许多功能封装起来,成为自定义标签,根据XML的标准制订,可以直接供开发人员使用。

(四)JavaBean应用组件技术

提供常用功能可以重复使用,可以让开发人员将某些功能和核心算法提取出来封装成为一个组件对象,这样就增加了代码的重用率和系统的安全性。

2. 面向对象分析设计思想

在分析项目业务关系的时候,应用一些UML图,例如用例图、类图、时序图等,这样可以尽快找出业务逻辑主要面对的对象,然后对每个对象进行行为划分,最后再实现对象间的集成通信。

3 .设计模式和框架结构

如果要是设计一个良好的框架结构,就需要在Java项目实施过程,

有一个设计模式,它决定着项目的应用、部署和实际开发设计。在普通的web项目中很多采用两层的开发结构,JSP+Servlet 或JSP+JavaBean。它能分有效的分离逻辑开发,使开发人员能专注于各自的开发,也可以使整个开发结构流程更清晰。

4. XML 语言

在服务器和设计模式结构中会应用到自定义文件,而且在应用高级设计时会定义自用的标签,现在流行的是用XML去定义配置,简化了数据交换、进程间消息交换这一类的事情,XML的应用大致分为三类:1.间单数据的表示和交换 2.用户界面相关、表示相关的上下文 3.面向消息的计算

5 .网页脚本语言

为了提高web项目的整体性能,提高人机交互的友好界面,网页的脚本语言就会起到一定作用。网页脚本语言的执行都是客户端执行的,速度很快,大多数操作与服务器无交互运算。

JavaScript是一种基于对象和事件驱动并具有安全性能的脚本语言。使用它的目的是与HTML超文本标记语言、Java脚本语言一起实现在一个web页面中链接多个对象,与web客户交互作用。它通过嵌入或调入在标准的HTML语言中实现。它是在程序运行过程中逐行解释。

6. 数据库

数据库(Database)是按照 数据结构来组织、 存储和管理数据的仓库

7. 应用服务器

在应用方面,web服务器主要是针对于配置和部署,对目录的配置,调试,对配置文件属性的修改;对访问权限和并发性的控制;java类的部署。

8. 集成开发环境

好的配置环境对项目的帮助也是如虎添翼的。(这部分来源于网络)

我弄了两个系统和截图,因为一开始按照周日老师讲的数据库连接一直不成功,所以就写一个建的的连接数据库表的登陆系统:

一:

1.你觉得网站系统开发需要掌握的技术:数据库的连接,navicatpremium中表的建立,登陆页面的设计,登陆页面照片的 设置,密码不显示的设计以及用户不存在,请输入密码和用户名的设计。

2.源程序代码

//信1605-1 张迪 20163480

package zzz;

import java.awt.event.*;

import java.awt.*;

import javax.swing.*;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.sql.Statement;

class B extends JFrame implements ActionListener

{

JPanel Interface = new JPanel(null)

{

public void paintComponent(Graphics g)

{

super.paintComponent(g);

ImageIcon img = new ImageIcon("C:\Users\zhang di\Pictures\Saved Pictures\2.jpg");

g.drawImage(img.getImage(),0,0,getWidth(),getHeight(),img.getImageObserver());

}

};

JButton Determine=new JButton("确定");

JLabel Prompt;

B(int a)

{

if(a==1)

Prompt=new JLabel("用户名不存在!");

if(a==2)

Prompt=new JLabel("密码错误!");

if(a==3)

Prompt=new JLabel("登陆成功!");

if(a==4)

Prompt=new JLabel("请输入用户信息!");

Prompt.setBounds(50,30,150,23);

Determine.setBackground(Color.WHITE);

Determine.setForeground(Color.black);

Determine.setBounds(103,60,64,25);

Determine.setFont(new Font("黑体",Font.PLAIN,15));

Prompt.setFont(new Font("黑体",Font.PLAIN,15));

Prompt.setHorizontalAlignment(SwingConstants.CENTER);

Prompt.setForeground(Color.black);

Interface.add(Prompt);

Interface.add(Determine);

getContentPane().add(Interface);

Determine.addActionListener(this);

setTitle("提示");

setSize(250,150);

setVisible(true);

setResizable(false);

setLocationRelativeTo(null);

setLayout(new GridLayout());

setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);

}

public void actionPerformed(ActionEvent e)

{

dispose();

}

}

class A extends JFrame implements ActionListener

{

JPanel Interface = new JPanel(null)

{

public void paintComponent(Graphics g)

{

super.paintComponent(g);

ImageIcon img=new ImageIcon("C:\Users\zhang di\Pictures\Saved Pictures\4.jpg");

g.drawImage(img.getImage(),0,0,getWidth(),getHeight(),img.getImageObserver());

}

};

JLabel[] title = new JLabel [2];

JTextField getid = new JTextField();

JPasswordField getcode = new JPasswordField();

JButton Land = new JButton("登录");

A()

{

for(int i=0;i<2;i++)

title[i]=new JLabel();

title[0].setText("用户名:");

title[1].setText("密 码:");

title[0].setBounds(90, 70, 50, 23);

getid.setBounds(140,70,150,23);

title[1].setBounds(90, 110, 50, 23);

getcode.setBounds(140,110,150,23);

Land.setBounds(100,180,180,25);

Land.setBackground(Color.cyan);

Land.setForeground(Color.black);

for(int i=0;i<2;i++)

{

title[i].setFont(new Font("黑体",Font.PLAIN,13));

title[i].setForeground(Color.black);

}

Land.setFont(new Font("黑体",Font.PLAIN,15));

Interface.add(title[0]);

Interface.add(getid);

Interface.add(title[1]);

Interface.add(getcode);

Interface.add(Land);

Land.addActionListener(this);

getContentPane().add(Interface);

setTitle("登陆窗口");

setSize(400,300);

setVisible(true);

setResizable(false);

setLocationRelativeTo(null);

setLayout(new GridLayout());

setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);

}

public void actionPerformed(ActionEvent e) //触发事件后的处理方法

{

String str1=null;

String str2=null;

str1=getid.getText().replaceAll(" ","");

str2=String.valueOf(getcode.getPassword()).replaceAll(" ","");

boolean result1=true;

if(str1==null||str1.equals(""))

result1=false;

if(str2==null||str2.equals(""))

result1=false;

if(result1)

{

int result2=queryresult(str1,str2);

if(result2==0)

new B(1);

if(result2==1)

new B(2);

if(result2==2)

new B(3);

}

else

new B(4);

}

public int queryresult(String id,String code)

{

String conURL="jdbc:mysql://localhost:3307/mysql";

int result=0;

try

{

Class.forName("com.mysql.jdbc.Driver");

}

catch (java.lang.ClassNotFoundException e1)

{

System.out.println(e1.getMessage());

}

try {

Connection con;

con = DriverManager.getConnection(conURL,"root","root");

Statement add=con.createStatement();

String str="select * from z";

ResultSet rs=add.executeQuery(str);

while(rs.next())

{

String a1;

String a2;

a1=rs.getString("用户名");

a2=rs.getString("用户密码");

if(a1.equals(id))

{

if(a2.equals(code))

result=2;

else

result=1;

}

}

rs.close();

con.close();

}

catch (SQLException e)

{

e.printStackTrace();

System.out.println(e.getMessage());

}

return result;

}

}

public class Example1

{

public static void main(String[] args)

{

new A();

}

}

3.结果截图

java数据库登陆页面第2张

java数据库登陆页面第3张java数据库登陆页面第4张

java数据库登陆页面第5张

二:信1605-1 张迪20163480

1.源程序

1 1.连接数据库
2 packagecom.jaovo.msg.Util;
3 import java.sql.*;
4 
5 public classDBUtil {
6  public staticConnection getConnection() {
7   //加载驱动
8   String dbDrive="com.mysql.jdbc.Driver";
9   try{
10    try{
11 Class.forName(dbDrive).newInstance();
12    } catch(InstantiationException e) {
13     
14 e.printStackTrace();
15    } catch(IllegalAccessException e) {
16     
17 e.printStackTrace();
18 }
19   } catch(ClassNotFoundException e) {
20    
21 e.printStackTrace();
22 }
23   //连接数据库
24   Connection connection=null; 
25   String url="jdbc:mysql://localhost:3307/l_user";
26   try{
27    connection=DriverManager.getConnection(url,"root","root");
28   } catch(SQLException e) {
29    
30 e.printStackTrace();
31 }
32   returnconnection;
33 }
34  public static voidclose(Connection connection ) {
35   try{
36    if (connection != null) {
37 connection.close();
38 }
39    
40   } catch(SQLException e) {
41    //TODO Auto-generated catch block
42 e.printStackTrace();
43 }
44 }
45  public static voidclose(PreparedStatement preparedStatement ) {
46   try{
47    if (preparedStatement != null) {
48 preparedStatement.close();
49 }
50    
51   } catch(SQLException e) {
52    
53 e.printStackTrace();
54 }
55 }
56  public static voidclose(ResultSet resultSet ) {
57   try{
58    if (resultSet != null) {
59 resultSet.close();
60 }
61    
62   } catch(SQLException e) {
63    
64 e.printStackTrace();
65 }
66 }
67  
68 }
1 .登录用户类
2 packagecom.jaovo.msg.model;
3 
4 public classUser {
5  privateString name;
6  privateString password;
7  publicString getName() {
8   returnname;
9 }
10  publicString getPassword() {
11   returnpassword;
12 }
13  public voidsetName(String name) {
14   this.name=name;
15 }
16  public voidsetPassword(String password) {
17   this.password=password;
18 }
19 
20 }
4.程序功能方法的借口。
   packagecom.jaovo.msg.dao;

importjava.util.List;

importcom.jaovo.msg.model.User;

public interfaceIUserDao {
 public List<User>load();
 publicUser load(String name);
 
}
1 5.实现功能方法的类。
2  
3 packagecom.jaovo.msg.dao;
4 importcom.jaovo.msg.Util.DBUtil;
5 importcom.jaovo.msg.model.User;
6 import java.sql.*;
7 importjava.util.ArrayList;
8 importjava.util.List;
9 public class UserDaoImpl  implementsIUserDao{
10 @Override
11  publicUser load(String name) {
12   
13   Connection connection =DBUtil.getConnection();
14   //准备sql语句
15   String sql = "select * from user3 where user ='"+name+"'";
16   //创建语句传输对象
17   PreparedStatement preparedStatement = null;
18   ResultSet resultSet = null;
19   //集合中只能放入user对象
20   User user = null;
21   try{
22    preparedStatement =connection.prepareStatement(sql);
23    resultSet =preparedStatement.executeQuery();
24       if(resultSet.next()) {
25     user = newUser();
26     user.setPassword(resultSet.getString("password"));
27 }
28   } catch(SQLException e) {
29    
30 e.printStackTrace();
31  }finally{
32   //关闭资源
33 DBUtil.close(resultSet);
34 DBUtil.close(preparedStatement);
35 DBUtil.close(connection);
36 }
37  returnuser;
38 }
39 @Override
40   public List<User>load() {
41    Connection connection =DBUtil.getConnection();
42    //准备sql语句
43    String sql = "select * from user3 ";
44    //创建语句传输对象
45    PreparedStatement preparedStatement = null;
46    ResultSet resultSet = null;
47    //集合中只能放入user对象
48    List<User> users = new ArrayList<User>();
49    User user = null;
50    
51    try{
52     preparedStatement =connection.prepareStatement(sql);
53     resultSet =preparedStatement.executeQuery();
54     while(resultSet.next()) {
55      user = newUser();
56      user.setName(resultSet.getString("user"));
57      user.setPassword(resultSet.getString("password"));
58 users.add(user);
59 }
60    } catch(SQLException e) {
61     
62 e.printStackTrace();
63   }finally{
64    //关闭资源
65 DBUtil.close(resultSet);
66 DBUtil.close(preparedStatement);
67 DBUtil.close(connection);
68 }
69   
70          returnusers;
71 } 
72 }
<!-- login.jsp -->
<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>用户登录</title>
</head> 
<body>
   <form action="doLogin.jsp"  method="get" >
   <h6>用户登录</h6>
   <table     border="1">
   <tr><td> 登录名:</td>s             
      <td><input type=" text" name="username"/></td></tr>
   <tr><td>  登录密码:</td>
     <td><input type="password" name="password"/></td></tr>
    <tr><td colspan="2" align="center"><input type="submit" value="登录" ><td></tr>
    </table>
   </form>
</body>
</html>
1 7.实现用户登录。
2 <%@page import="com.jaovo.msg.dao.UserDaoImpl" %>
3 <%@page import="com.jaovo.msg.model.User" %>
4 <%@page import="java.util.List"%>
5 <%@ page language="java" contentType="text/html; charset=UTF-8"
6     pageEncoding="UTF-8"%>
7 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
8 <html>
9 
10 <%
11  //接收客户端传递过来的参数
12  String username = request.getParameter("username");
13  String password = request.getParameter("password");
14   UserDaoImpl a=newUserDaoImpl();
15 
16  User user=a.load(username);
17  String password1=user.getPassword();//登录窗口传递过来的密码与数据库中查询到的密码相比较
18  if(password.equals(password1)){
19   out.println("登录成功");
20 }
21  else
22   out.println("输入密码或登录名有错!");
23  
24  
25 %> 
26 
27 </html> 

2.实验截图

java数据库登陆页面第6张java数据库登陆页面第7张

java数据库登陆页面第8张

java数据库登陆页面第9张

java数据库登陆页面第10张

5.错误分析:

一:.

连接数据库步骤
1.导入java.sql包
  import java.sql.*;
     2.加载数据库的连接地址,用户名和密码。
       Class.forName("com.mysql.jdbc.Driver") ;
     3.定义数据库的链接地址,用户名和密码。
           String user = "root";
           String password = "root";
           String url = "jdbc:mysql://localhost:3307/jaovo_msg";

     4.得到与数据库的连接对象。
         connection = DriverManager.getConnection(url,user,password);
     5.声明sql语句。
          String sql = "select * from user1 ";
     6.得到语句对象。
          preparedStatement = connection.prepareStatement(sql);
     7.执行Sql语句。
          resultSet = preparedStatement.executeQuery();
     8.处理Sql语句的返回语句。
          while(resultSet.next()) {
               user = new User();
             user.setName(resultSet.getString("user"));
               user.setPassword(resultSet.getString("password"));
               users.add(user);
               }
     9.关闭对象
     DBUtil.close(resultSet);
         DBUtil.close(preparedStatement);
           DBUtil.close(connection);

2.
由于刚开始这些方法是直接复制的老师的代码,所以没改查询语句中的数据库表名,也在报错。后来能运行查询数据库表中全部信息的功能,但由于查询单个用户的sql语句一直写错不能运行查询单个用户信息,所以花费了很长时间去检查出错的地方和找方法去解决。

3.因为之前jsp的基本语法知识掌握较少,所以编写的登录界面较简单。实现登录界面的jsp文件的名为doLogin.jsp,但由于之前 <form >标签中一直写成dologin.jsp,所以一直不能呈贡跳转页面。

三:

希望自己的团队最后可以开发一个实用好看的系统。

四:

一周至少要总的四天的时间来学习这个系统,很详细的掌握系统的开发技术。

免责声明:文章转载自《java数据库登陆页面》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇记druid 在配置中心下的一个大坑: cpu 达到 100%Android学习笔记(20)————利用ListView制作带竖线的多彩表格下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

C# 通过模拟http请求来调用soap、wsdl

C#调用webservice的方法很多,我说的这种通过http请求模拟来调用的方式是为了解决C#调用java的远程API出现各种不兼容问题。 由于远程API不在我们的控制下,我们只能修改本地的调用代码来适应远程API。 在以上情况下,我们就通过模拟http请求来去调用webservice。 首先,我们要分析调用端口时,我们发送出去的数据。 先抓个包看看,这...

HttpServletrequest 注册和登录、request域对象、web动态shop

 summarize httpServletResponse跟 Request一个是响应一个是请求,获得客户端请求方式 用getMethod 得到的是String类型, response:属于重定向请求、地址栏URL会发生改变、想服务器发送两次请求 response解决中文乱码:response.setContentType("text/html;char...

【转】CSS浏览器兼容性与解析问题终极归纳

1.怪异模式问题:漏写DTD声明,Firefox仍然会按照标准模式来解析网页,但在IE中会触发怪异模式。为避免怪异模式给我们带来不必要的麻烦,最好养成书写DTD声明的好习惯。 2.IE6双边距问题:在IE6下,如果对元素设置了浮动,同时又设置了margin-left或margin-right,margin值会加倍。例如: HTML: <div cla...

HBase性能优化方法总结

4.1 HBase性能优化方法总结(一):表的设计 4.1.1 Pre-Creating Regions 默认情况下,在创建HBase表的时候会自动创建一个region分区,当导入数据的时候,所有的HBase客户端都向这一个region写数据,直到这个region足够大了才进行切分。一种可以加快批量写入速度的方法是通过预先创建一些空的regions,这样...

你必须知道的ADO.NET(八) 深入理解DataAdapter(上)

摘要 ADO.NET有两个核心组件:基于连接的Data Provider组件以及基于非连接的DataSet组件。基于连接的Data Provider组件常用于实时地从数据库中检索数据。而基于非连接的DataSet,似乎与数据库没有直接联系,仅仅用于在本地内存中存储Data Provider提供的数据表或集合。这一切似乎很微妙,此时,你是否在想:这两大组件...

Java用SAX解析XML

要解析的XML文件:myClass.xml 1 <?xml version="1.0" encoding="utf-8"?> 2 <class> 3 <stu id="001"> 4 <name>Allen</name> 5 <sex>男</sex> 6 &l...