「java网页登陆」java实现网页登录

博主:adminadmin 2023-01-20 17:06:09 263

本篇文章给大家谈谈java网页登陆,以及java实现网页登录对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

java如何做一个可以登陆网页的程序

你如果要简单,在login页面加三个表单标签,一个text,一个password,一个submit,外面框个form标签,action指定到你程序后台,跳到数据库验证,然后返回结果,将用户名密码提交到后台验证方法很多,楼上讲的struts是其中一种,但是如果你连登陆都不知道做,还是先别用struts了,直接将action跳到另一个页面,另一个页面获取login页面的用户名和密码,

login.jsp中写

from action ="logindo.jsp"

用户名:input type="text" name="username"br

密码:input type="password" name="password"br

input type = "submit" value="登陆"

/from

logindo.jsp中写

%

String username = request.getParamenter("username");//获取登陆页面穿过来的用户名

String password= request.getParamenter("password");//获取登录页面传过来的密码

dao.login(username,password);//跑到程序后台验证用户名密码错误

%

其他的我就不写了,大致都写完了,希望对你有帮助,别忘记采纳

如何用java模拟网页登入提交

我不得不使用好几个系统,都是B/S结构的,每次登录都需要输入用户名和密码,觉得非常麻烦,考虑到其他同事也会有这样的需求,不妨就写个自动登录的程序吧。之前,也考虑过使用单点登录,几经尝试之后还是放弃了。

我习惯使用Java,本能地开始寻找Java的解决方法,在Google中输入“Java自动登录”、“Java网页模拟登录”、“Java Post 登录”,结果倒是不少,内容也差不多,我尝试很多次终究也没有达到我预期的目标。后来,我都不知道这些代码应该在jsp页面中执行还是在c/s结构的程序中执行。但这些代码确实管用。

我们先分析一下代码,

%@ page import="java.util.*" %

%@ page import="java.io.*" %

%@ page import="java.net.*" %

String surl = "";

URL url = new URL(surl);

URLConnection conn = url.openConnection();

conn.setDoOutput(true);

OutputStreamWriter out=new OutputStreamWriter(conn.getOutputStream());

String str = "username=yournamepassword=123456";

out.write(str);

out.flush();

out.close();

到这里,如果在C/S结构中,且参数正确,程序能够成功登录到这个oa系统,要看到结果,你可以通过下面的代码将系统服务器返回的结果System.out.println()出来。

String sling = "";

String scontent = "";

BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream(),"UTF-8"));

while ((sling = in.readLine()) != null)

scontent += in + "\r\n";

System.out.println(scontent);

在C/S结构下,可以到得到控制台输出了返回值,从返回内容里可以看出程序已经成功登录,但要是把这个网址浏览器打开,还是得重新登录,问题没有得到根本解决。如果只是恶意注册,到这里应该就达到目的了。

看样子C/S结构下不容易实现网页程序自动登录,除非你在C/S程序中内嵌一个浏览器,直接在这个浏览器中自动访问系统,应该没有别的方法,主要问题在于我们没有办法共享Session。

为了便于共享Session,我们只能在浏览器中实现网页自动登录,通过上面的代码在jsp页面中测试,达不到预期目标。

网页自动登录,就是希望程序自动填充用户名和密码,然后以Post方式提交给登录页面的Form所指向的action页面或方法。我将系统的登录页面的源代码保存成一个网页,然后在username和password文本框中设置默认值,然后通过这网页登录系统,测试后,发现可行。接下来,你可能已经想到了解决方法。

我们可以通过url.openConnection()建立连接,将返回的scontent打印出来,然后接着打印以下代码:

out.println("script type="text/javascript"\r\n");

out.println("document.getElementsByName("username")[0].value=yourname;\r\n");

out.println("document.getElementsByName("password")[0].value=123456;\r\n");

out.println("document.forms[0].submit();\r\n");

out.println("/script\r\n");

原理很简单,通过login.jsp将登录页面的全部源代码写在当前页面,然后使用javascript脚本将用户名和密码的值填充上,最后提交表单。这样中,终于实现了自动登录的目标。现在我通过一个特殊的网址,例如,就可以自动访问这个oa了。

你可能注意到参数url,他的值是经过加密的,内容是用户名和密码。当然,你也可以加上有效期,即在有效期内这个链接才是有效的,才可以实现自动登录。

怎样用java实现登陆界面(要详细内容)

import javax.swing.*;

import java.awt.event.*;

import java.util.Vector;

import javax.swing.ImageIcon;

import java.net.URL;

import javax.swing.WindowConstants;

import java.awt.Color;

import java.awt.Font;

import java.awt.Point;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.util.Vector;

public class Admin extends JFrame {

JLabel label1 = new JLabel("10级计算机二班通信录");

JLabel label2 = new JLabel("用户名:");

JLabel label3 = new JLabel("密 码:");

java.sql.Connection con=null;

java.sql.ResultSet rs=null;

java.sql.PreparedStatement ps=null;

JLabel label4 = new JLabel("注:初始密码不能够超过六位");

JLabel label6 = new JLabel(new ImageIcon("image/登录界面.jpg"));

JTextField txtname=new JTextField();;

JPasswordField txtPwd = new JPasswordField();

JButton but1 = new JButton(new ImageIcon("image/登录.jpg"));

JButton but2 = new JButton(new ImageIcon("image/退出.jpg"));

JProgressBar jpb = new JProgressBar();// 进度条

/**

* 构造方法

*/

public Admin(){}

public Admin(int i,int num) {

initAdmin();

this.setLocation(new Point(436,176));//界面初始化指定位置

this.setResizable(false);// 禁止改变大小

this.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);

this.setDefaultCloseOperation(i);

}

/**

* 界面代码

*/

public void initAdmin() {

this.setTitle("10级计算机二班通讯录 -- 登入界面 ");

this.setSize(600, 450);

JLayeredPane pa = new JLayeredPane(); // 容器

// 设置组件字体和颜色

label1.setFont(new Font("宋体", 1, 32));

label2.setFont(new Font("宋体", 0, 16));

label3.setFont(new Font("宋体", 0, 16));

label4.setFont(new Font("宋体", 0, 14));

txtname.setFont(new Font("宋体", 0, 16));

txtPwd.setFont(new Font("宋体", 0, 16));

txtPwd.setEchoChar('*');

label1.setForeground(new Color(250, 89, 136));

label4.setForeground(new Color(250, 55, 55));

txtname.setForeground(new Color(250, 85, 85));

txtname.setEditable(true);

txtname.setText("阙权华");

// 设置组件位置

label1.setBounds(153, 35, 400, 35);

label2.setBounds(180, 165, 82, 25);

// label5.setBounds(15, 25, 80, 66);

txtname.setBounds(245, 165, 150, 25);

label3.setBounds(180, 220, 152, 25);

txtPwd.setBounds(245, 220, 150, 25);

label4.setBounds(245, 250, 200, 25);

but1.setBounds(245, 275, 59, 30);

but2.setBounds(338, 275, 59, 30);

// 添加组件到容器

pa.add(label1);

pa.add(label2);

pa.add(label3);

pa.add(label4);

pa.add(txtname);

pa.add(txtPwd);

pa.add(but1);

pa.add(but2);

this.add(pa);// 添加容器

jpb.setBounds(0, 400, 600, 25);

jpb.setForeground(new Color(250, 40, 135));

jpb.setVisible(false);

pa.add(jpb);

label6.setBounds(0, 0, 600, 425);

pa.add(label6);

but1.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent arg0) {

if(txtname.getText().trim().length()==0){

JOptionPane.showMessageDialog(null, "请填入用户名!", "警告", 0);

return;

}

if(txtPwd.getText().trim().length()==0)

{

JOptionPane.showMessageDialog(null, "请填入密码!", "警告", 0);

return;

}

if(txtPwd.getText().trim().length()6){

JOptionPane.showMessageDialog(null, "密码太长!", "警告", 0);

return;

}

//DB p=new DB();

if(txtname.getText().trim().equals("阙权华")txtPwd.getText().trim().equals("123")){

//显示进度条

jpb.setVisible(true);

yin();//进度条

// JOptionPane.showMessageDialog(null, "登录成功");

}

else {

JOptionPane.showMessageDialog(null,"用户名或密码不正确!");

return;

}

}

}

);

but2.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent arg0) {

// TODO 自动生成方法存根

int a = JOptionPane.showConfirmDialog(null, "是否退出", "警告", 0);

if (a == 0) {

dispose();

} else {

return;

}

}

});

}

/**

* 进度条

*/

public void yin() {

this.setEnabled(false);// 锁屏

new java.lang.Thread(new java.lang.Runnable() {

public void run() {

while (true) {

try {

int i = Admin.this.jpb.getValue();

if (i Admin.this.jpb.getMaximum()) {

int k = ++i;

Admin.this.jpb.setValue(k);

Admin.this.jpb.setStringPainted(true);

if (k = 25) {

java.lang.Thread.sleep(100);

Admin.this.jpb.setString("正在载入系统......" + 4 * k+ "%");

} else if (k = 75) {

java.lang.Thread.sleep(80);

Admin.this.jpb.setString("加载资料......" + k + "%");

} else {

java.lang.Thread.sleep(30);

Admin.this.jpb.setString("正在缓冲,请稍后......" + k+ "%");

}

} else {

Admin.this.dispose();

}

} catch (Exception e) {

e.printStackTrace();

}

// 成功登入

if (Admin.this.jpb.getValue() == 100) {

Admin.this.jpb.setString("完成100%");

new adminMenu().setVisible(true);

Admin.this.dispose();

break;

}

}

}

}).start();

}

public static void main(String[] args) {

new Admin(0,0).setVisible(true);

}

/**

* 鼠标点击事件

*/

}

如何用java实现登陆网站--不需打开浏览器

public static void loginBaidu() {

URL url = null;

HttpURLConnection httpurlconnection = null;

try {

url = new URL("");

httpurlconnection = (HttpURLConnection) url.openConnection();

httpurlconnection.setRequestProperty("User-Agent",

"Internet Explorer");

httpurlconnection.setRequestProperty("Host", "");

httpurlconnection.connect();

String cookie0 = httpurlconnection.getHeaderField("Set-Cookie");

System.out.println(cookie0);//打印出cookie

httpurlconnection.disconnect();

// String cookie0 =

// "BAIDUID=8AF5EA24DBF1275CE15C02B5FF65A265:FG=1;BDSTAT=61a1d3a7118ce8a7ce1b9d16fdfaaf51f3deb48f8e5494eef01f3a292cf5b899;

// BDUSE=deleted";

url = new URL("");

String strPost = "username=xxxxxxpassword=yyyyyyymem_pass=on";

httpurlconnection = (HttpURLConnection) url.openConnection();

httpurlconnection.setFollowRedirects(true);

httpurlconnection.setInstanceFollowRedirects(true);

httpurlconnection.setDoOutput(true); // 需要向服务器写数据

httpurlconnection.setDoInput(true); //

httpurlconnection.setUseCaches(false); // 获得服务器最新的信息

httpurlconnection.setAllowUserInteraction(false);

httpurlconnection.setRequestMethod("POST");

httpurlconnection

.addRequestProperty(

"Accept",

"image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/msword, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/x-silverlight, */*");

httpurlconnection

.setRequestProperty("Referer",

";tpl=mnu=http%3A//");

httpurlconnection.setRequestProperty("Accept-Language", "zh-cn");

httpurlconnection.setRequestProperty("Content-Type",

"application/x-www-form-urlencoded");

httpurlconnection.setRequestProperty("Accept-Encoding",

"gzip, deflate");

httpurlconnection

.setRequestProperty(

"User-Agent",

"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; Foxy/1; .NET CLR 2.0.50727;MEGAUPLOAD 1.0)");

httpurlconnection.setRequestProperty("Host", "passport.baidu.com");

httpurlconnection.setRequestProperty("Content-Length", strPost

.length()

+ "");

httpurlconnection.setRequestProperty("Connection", "Keep-Alive");

httpurlconnection.setRequestProperty("Cache-Control", "no-cache");

httpurlconnection.setRequestProperty("Cookie", cookie0);

httpurlconnection.getOutputStream().write(strPost.getBytes());

httpurlconnection.getOutputStream().flush();

httpurlconnection.getOutputStream().close();

httpurlconnection.connect();

int code = httpurlconnection.getResponseCode();

System.out.println("code " + code);

String cookie1 = httpurlconnection.getHeaderField("Set-Cookie");

System.out.print(cookie0 + "; " + cookie1);

httpurlconnection.disconnect();

url = new URL("");

httpurlconnection = (HttpURLConnection) url.openConnection();

httpurlconnection.setRequestProperty("User-Agent",

"Internet Explorer");

httpurlconnection.setRequestProperty("Host", "");

httpurlconnection.setRequestProperty("Cookie", cookie0 + "; "

+ cookie1);

httpurlconnection.connect();

InputStream urlStream = httpurlconnection.getInputStream();

BufferedInputStream buff = new BufferedInputStream(urlStream);

Reader r = new InputStreamReader(buff, "gbk");

BufferedReader br = new BufferedReader(r);

StringBuffer strHtml = new StringBuffer("");

String strLine = null;

while ((strLine = br.readLine()) != null) {

strHtml.append(strLine + "\r\n");

}

System.out.print(strHtml.toString());

} catch (Exception e) {

e.printStackTrace();

} finally {

if (httpurlconnection != null)

httpurlconnection.disconnect();

}

}

呵呵,改了下程序中错误的地方。学习了,原来这样也可以。

以前只知道可以这样做,还从来没有花过心思去做过。

阅读了些代码,真是获益匪浅啊。

程序可以运行了,用户名和密码改为你的帐户就可以直接运行了。可以使用,但不能一直使用啊,如果用多了百度给你个验证码,就是神仙也不行了。

Java中登陆时如何实现的?

如果时java web开发的话,那就是跟数据库挂钩了。用户输入用户名和密码,然后后台程序和数据库保存的用户名和密码进行比较,如果成功,就进入允许的界面,如果不成功,重新回到登录界面,或者返回网站首页。

希望能帮到你!!!

求助各位大神,java简单网页(登陆)的东西

不都告诉了你了吗 空指针 可能是你没有接到前台的值 然后用个Null 去执行了 sql语句

你看他都说了你执行的executeQuery的地方空了,空指针只有在调用的时候才会报,所以这里是空的,如果这里是空的话那么要么就是user 后者password 空了 就是 request.getParameter()

参数填对 要么就是 前台值没有传过来,反正原因挺多的,你要是会打断点 就好测试了,我当初刚开始学的时候也是这样的加油哦.

你可以吧 user 或者 password 改成和你数据库对应的字符串来测能通 就证明后台代码没问题,

问题就在前台了,前台可能就是 name 属性没有加 或者其他的.

java网页登陆的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java实现网页登录、java网页登陆的信息别忘了在本站进行查找喔。