「java网页登陆」java实现网页登录
本篇文章给大家谈谈java网页登陆,以及java实现网页登录对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、java如何做一个可以登陆网页的程序
- 2、如何用java模拟网页登入提交
- 3、怎样用java实现登陆界面(要详细内容)
- 4、如何用java实现登陆网站--不需打开浏览器
- 5、Java中登陆时如何实现的?
- 6、求助各位大神,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网页登陆的信息别忘了在本站进行查找喔。