2024-06-04 21:19:20 | 我爱编程网
同意楼上的说法,具体点可以这样:创建一个用户表,里边包括LoginName(登录名),UserName(用户名),Password(密码),Age(年龄),Address(地址)。然后编写Java程序(用MVC架构)模型层(M):DBConnection.java(负责连接数据库)
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.*;
public class DBConnection {
private static final String DRIVER_CLASS = "sun.jdbc.odbc.JdbcOdbcDriver";
private static final String DB_URL = "jdbc:odbc:text";
public DBConnection() {
}
public static Connection getConnection() {
Connection conn = null;
try {
Class.forName(DRIVER_CLASS);
conn = DriverManager.getConnection(DB_URL);
} catch (SQLException ex) {
System.out.println(ex.getMessage());
} catch (ClassNotFoundException ex) {
System.out.println(ex.getMessage());
}
return conn;
}
}
第2个负责数据库查询操作的类:DBUserManager.java
import edu.systop.text.model.entity.User;
import edu.systop.text.model.dao.DBConnection;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.DriverManager;
import java.sql.*;
public class DBUserManager {
private static final String SQL_SELECT =
"SELECT LoginName,UserName,PassWord,Age,Address FROM UserInfo WHERE LoginName = ? AND PassWord = ?";
public DBUserManager() {
}
public boolean checkDB(User u) {
boolean b = false;
Connection conn = null;
PreparedStatement psmt = null;
ResultSet rs = null;
conn = DBConnection.getConnection();
try {
psmt = conn.prepareStatement(SQL_SELECT);
psmt.setString(1, u.getLoginName());
psmt.setString(2, u.getPassWord());
rs = psmt.executeQuery();
b = rs.next();
if (rs.next()) {
b = true;
}
} catch (SQLException ex) {
System.out.println(ex.getMessage());
} finally {
cleanDB(rs, psmt, conn);
}
return b;
}
public User checkBC(User u) {
Connection conn = null;
PreparedStatement psmt = null;
ResultSet rs = null;
User tmp = new User();
conn = DBConnection.getConnection();
try {
psmt = conn.prepareStatement(SQL_SELECT);
psmt.setString(1, u.getLoginName());
psmt.setString(2, u.getPassWord());
rs = psmt.executeQuery();
if (rs.next()) {
tmp.setLoginName(rs.getString(1));
tmp.setUserName(rs.getString(2));
tmp.setAge(rs.getInt(4));
tmp.setAddress(rs.getString(5));
}
} catch (SQLException ex) {
System.out.println(ex.getMessage());
} finally {
cleanDB(rs, psmt, conn);
}
return tmp;
}
public void cleanDB(ResultSet rs, PreparedStatement psmt, Connection conn) {
try {
if (rs != null) {
rs.close();
}
if (psmt != null) {
psmt.close();
}
if (conn != null) {
conn.close();
}
} catch (SQLException ex) {
System.out.println(ex.getMessage());
}
}
第3个实体用户类:User.java
package edu.systop.text.model.entity;
public class User {
private String loginName;
private String userName;
private String passWord;
private int age;
private String address;
public User() {
}
public void setLoginName(String loginName) {
this.loginName = loginName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public void setPassWord(String passWord) {
this.passWord = passWord;
}
public void setAge(int age) {
this.age = age;
}
public void setAddress(String address) {
this.address = address;
}
public String getLoginName() {
return loginName;
}
public String getUserName() {
return userName;
}
public String getPassWord() {
return passWord;
}
public int getAge() {
return age;
}
public String getAddress() {
return address;
}
}
然后编写控制层(C):GetInfoServlet.java
package edu.systop.text.control;
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;
import edu.systop.text.model.entity.User;
import edu.systop.text.model.service.UserManager;
public class GetInfoServlet extends HttpServlet {
private static final String CONTENT_TYPE = "text/html; charset=GBK";
//Initialize global variables
public void init() throws ServletException {
}
//Process the HTTP Get request
public void doGet(HttpServletRequest request, HttpServletResponse response) throws
ServletException, IOException {
}
//Process the HTTP Post request
public void doPost(HttpServletRequest request, HttpServletResponse response) throws
ServletException, IOException {
String loginName = request.getParameter("loginName");
String passWord = request.getParameter("passWord");
User u = new User();
u.setLoginName(loginName);
u.setPassWord(passWord);
UserManager m = new UserManager();
RequestDispatcher d;
if (m.checkUser(u)) {
User o = m.checkBC(u);
request.setAttribute("JavaBEAN",o);
d = request.getRequestDispatcher("GetInfoUser.jsp");
} else {
d = request.getRequestDispatcher("GetInfoFinale.jsp");
}
d.forward(request, response);
}
//Clean up resources
public void destroy() {
}
}
最后,创建表示层(V):包括3个Jsp(登录页面GetInfo.jsp、登录成功页面GetInfoUser.jsp、登录失败页面GetInfoFinale.jsp)
上面的就是Jsp结合Servlet用MVC架构写的用户登录程序。
大牛Java程序员要具备哪些知识
1、语法:必须比较熟悉,在写代码的时候DE的编辑器对某一行报错应该能够根据报错信息知道是什么样的语法错误并且知道任何修正。
2、命令:必须熟悉JDK带的一些常用命令及其常用选项,命令至少需要熟悉:appletviewer、HtmlConverter、jar、java、javac、javadoc、javap、javaw、native2asci、serialver,如果这些命令你没有全部使用过,那么你对java实际上还很不了解。
3、工具:
必须至少熟练使用一种DE的开发工具,例如Eclipse、Netbeans、JBuilder、Jdeveloper、IDEA、JCreator或者Workshop,包括进行工程管理、常用选项的设置、插件的安装配置以及进行调试。
4、测试:必须熟悉使用juit编写测试用例完成代码的自动测试。
5、API:Java的核心APl是非常庞大的,但是有一些内容笔者认为是必须熟悉的,否则不可能熟练的运用Java,包括:
1)、java.lang包下的80%以上的类的功能的灵活运用。
2)、java.util包下的80%以上的类的灵活运用,特别是集合类体系、规则表达式、Zp、以及时间、随机数、属性、资源和Timer。
3)、java.io包下的60%以上的类的使用,理解I0体系的基干管道模型的设计思路以及常用O类的特性和使用场合。
4)、java.math包下的100%的内容。
5)、java.net包下的60%以上的内容,对各个类的功能比较熟悉。
6)、java.text包下的60%以上的内容,特别是各种格式化类。我爱编程网
7)、熟练运用JDBC。
8)、java.security包下40%以上的内容,如果对干安全没有接触的话根本就不可能掌握java。9)、AWT的基本内容,包括各种组件事件、监听器、布局管理器、常用组件、打印。
1O)、Swing的基本内容,和AWT的要求类似。
11)、XML处理,熟悉SAX、DOM以及JDOM的优缺点并且能够使用其中的一种完成XML的解析及内容处理。
6、管理:必须熟悉使用ant完成工程管理的常用任务,例如工程编译、生成javadoc、生成jar、版本控制、自动测试。
7、排错:应该可以根据异常信息比较快速的定位问题的原因和大致位置。
8、思想:必须掌握OOP的主要要求,这样使用Java开发的系统才能是真正的Java系统。
9、规范:编写的代码必须符合流行的编码规范,例如类名首字母大写,成员和方法名首字母小写,方法名的第一个单词一般是动词,包名全部小写等,这样程序的可读性才比较好。
我爱编程网(https://www.52biancheng.com)小编还为大家带来用java编写一个程序,程序运行时弹出一个输入对话框,用户使用该对话的相关内容。
package cn.fu;
import java.awt.BorderLayout;
import java.awt.EventQueue;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JOptionPane;
import javax.swing.JTextField;
import javax.swing.JLabel;
import javax.swing.JButton;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.awt.Window.Type;
public class Login extends JFrame {
private JPanel contentPane;
private JTextField textField;
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
Login frame = new Login();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the frame.
*/
public Login() {
setTitle("工具");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 450, 300);
contentPane = new JPanel();
contentPane.setToolTipText("");
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(null);
textField = new JTextField();
textField.setBounds(121, 86, 194, 21);
contentPane.add(textField);
textField.setColumns(10);
JLabel lblNewLabel = new JLabel("请输入10位数以内的字符串");
lblNewLabel.setBounds(145, 59, 194, 15);
contentPane.add(lblNewLabel);
JButton btnNewButton = new JButton("确定");
btnNewButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
String ca = textField.getText();
int n = ca.length();
if (n > 10) {
JOptionPane.showMessageDialog(null, "对不起,您输入的字符串长度超过10",
"错误提示", JOptionPane.ERROR_MESSAGE);
} else if (n >= 0 || n <= 10) {
JOptionPane.showMessageDialog(null, "字符串长度为" + n, "提示",
JOptionPane.PLAIN_MESSAGE);
}
}
});
btnNewButton.setBounds(172, 130, 93, 23);
contentPane.add(btnNewButton);
}
}
thinkphp怎么区分登陆用户用户名名大小写区分??我写的登陆的时候用户名大小写都能用strcmp()函数:该函数进行字符串之间的比较,在比较的时候,区分大小写.声明:strcmp(string1,string2);该函数对传入的两个字符串参数进行比较,如果两个字符串完全相同,则返回0;如果按照字典顺序string1在string2后面,则返回一个正数;如果string1小于str
java写一个自动程序开始先怎么写使用Eclipse编写自己的第一个Java代码。编写如下:1、首先打开自己安装的Eclipse软件。2、然后选择File->New->JavaProject。3、然后找到工程打开,右击src选择->New->Class。4、填入类名,选择下面的publicstaticvoidmain(String[]args)
怎么用eclipse编写java程序1打开eclipse,依次找到菜单栏里的(如图):“文件”-“新建”-“Java项目”。2创建Java项目,输入项目名称,点击窗口下方“完成”(如图)。3拉开项目文件夹,新建一个包,名称最好是com.xxx(如图)。4设置好包的名称后,点击窗口下方“完成”。5右键点击新建号的包,选择“新建”,点击“类”。6即创建一个新的类(如
php替换原来的头像,更新头像,这个语法执行不出来,请各位大侠帮忙是没有写入,还是写入的东西不对?$sql="updateuserinfosetloginid='".$loginid."',loginopwd='".$loginpwd."',loginname='".$loginname."',loginemail='".$loginemail."',loginphone='".$log
JAVA编写一个带有窗口的应用程序这样:importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;importjava.awt.Graphics;publicclassMainClassextendsJFrame{publicJComboBoxbox;intflag=0;jpNew
如何用java编写一个循环程序?importjava.util.*;publicclassMain{publicstaticvoidmain(String[]args){Scanners=newScanner(System.in);intsum=0;intx=s.nextInt();while(x!=0){if(x%2==1){sum+=x;
Java菜鸟学习编写第一个java程序HelloWorld不管学哪门语言,第一个HelloWorld程序成功运行起来的时候,代表着你的学习已经跨进了一小步。做这个java实验之前,读者最少要在自己的电脑上安装好JDK(包括配置好环境变量),如果读者还不会安装JDK和配置环境变量可以看作者的另一遍经验。编写并保存代码。打开记事本编写如图1所示代码,图1代码为(注意输入代码时输入法一定切换到
怎样用JAVA编写一个程序去关闭电脑上的一个软件呢?请帮我写一个完整的程序。我只提供思路,具体实现你自己去弄,很简单:1.在命令行里面输入tskillPPAP,就可以结束PPAP进程2.java中的Runtime类提供一个直接运行命令行程序的方法:Processp=null;p=Runtime.getRuntime().exec("tskillPPAP");Thread.
2025-02-01 20:24:39
2025-02-12 03:21:37
2025-02-10 15:19:48
2025-01-28 17:58:32
2024-11-22 05:08:01
2024-09-10 08:50:00