package?jdbcproj;
作為一家“創(chuàng)意+整合+營銷”的成都網(wǎng)站建設(shè)機(jī)構(gòu),我們在業(yè)內(nèi)良好的客戶口碑。創(chuàng)新互聯(lián)提供從前期的網(wǎng)站品牌分析策劃、網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站、成都網(wǎng)站制作、創(chuàng)意表現(xiàn)、網(wǎng)頁制作、系統(tǒng)開發(fā)以及后續(xù)網(wǎng)站營銷運(yùn)營等一系列服務(wù),幫助企業(yè)打造創(chuàng)新的互聯(lián)網(wǎng)品牌經(jīng)營模式與有效的網(wǎng)絡(luò)營銷方法,創(chuàng)造更大的價(jià)值。
import?java.sql.*;
import?java.awt.BorderLayout;
import?java.awt.EventQueue;
import?javax.swing.JFrame;
import?javax.swing.JPanel;
import?javax.swing.border.EmptyBorder;
import?javax.swing.JLabel;
import?javax.swing.JOptionPane;
import?javax.swing.JTextField;
import?javax.swing.JButton;
import?java.awt.event.ActionListener;
import?java.sql.Connection;
import?java.sql.PreparedStatement;
import?java.sql.SQLException;
import?java.awt.event.ActionEvent;
public?class?MainFrame?extends?JFrame?{
private?JPanel?contentPane;
private?JTextField?txtname;
private?JTextField?txtpassword;
/**
?*?Launch?the?application.
?*/
public?static?void?main(String[]?args)?{
EventQueue.invokeLater(new?Runnable()?{
public?void?run()?{
try?{
MainFrame?frame?=?new?MainFrame();
frame.setVisible(true);
}?catch?(Exception?e)?{
e.printStackTrace();
}
}
});
}
/**
?*?Create?the?frame.
?*/
public?MainFrame()?{
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100,?100,?661,?399);
contentPane?=?new?JPanel();
contentPane.setBorder(new?EmptyBorder(5,?5,?5,?5));
setContentPane(contentPane);
contentPane.setLayout(null);
JLabel?lblNewLabel?=?new?JLabel("\u7528\u6237\u540D");
lblNewLabel.setBounds(114,?51,?72,?18);
contentPane.add(lblNewLabel);
JLabel?lblNewLabel_1?=?new?JLabel("\u5BC6\u7801");
lblNewLabel_1.setBounds(114,?106,?72,?18);
contentPane.add(lblNewLabel_1);
txtname?=?new?JTextField();
txtname.setBounds(261,?48,?86,?24);
contentPane.add(txtname);
txtname.setColumns(10);
txtpassword?=?new?JTextField();
txtpassword.setBounds(261,?103,?86,?24);
contentPane.add(txtpassword);
txtpassword.setColumns(10);
JButton?btnadd?=?new?JButton("\u589E\u52A0");
btnadd.addActionListener(new?ActionListener()?{
public?void?actionPerformed(ActionEvent?e)?{
if(txtname.getText().equals("")||txtpassword.getText().equals(""))
{
JOptionPane.showMessageDialog(getContentPane(),?"用戶名和密碼不能為空","提示信息框",JOptionPane.WARNING_MESSAGE);
}
else{
Users?u=new?Users();
u.setPwd(txtpassword.getText());
u.setUsername(txtname.getText());
UserDAO?usdo=new?UserDAO();
usdo.addUser(u);
}
}
});
btnadd.setBounds(45,?205,?113,?27);
contentPane.add(btnadd);
JButton?btndelete?=?new?JButton("\u5220\u9664");
btndelete.addActionListener(new?ActionListener()?{
public?void?actionPerformed(ActionEvent?arg0)?{
if(txtname.getText().equals(""))
{
JOptionPane.showMessageDialog(getContentPane(),?"用戶名不能為空","提示信息框",JOptionPane.WARNING_MESSAGE);
}
else{
UserDAO?usdo=new?UserDAO();
usdo.delUser(txtname.getText());;
}
}
});
btndelete.setBounds(172,?205,?113,?27);
contentPane.add(btndelete);
JButton?btnupdate?=?new?JButton("\u4FEE\u6539");
btnupdate.addActionListener(new?ActionListener()?{
public?void?actionPerformed(ActionEvent?e)?{
if(txtname.getText().equals("")||txtpassword.getText().equals(""))
{
JOptionPane.showMessageDialog(getContentPane(),?"用戶名和密碼不能為空","提示信息框",JOptionPane.WARNING_MESSAGE);
}
else{
Users?u=new?Users();
u.setPwd(txtpassword.getText());
u.setUsername(txtname.getText());
UserDAO?usdo=new?UserDAO();
usdo.updateUser(u);;
}
}
});
btnupdate.setBounds(300,?205,?113,?27);
contentPane.add(btnupdate);
JButton?btnfind?=?new?JButton("\u67E5\u8BE2");
btnfind.addActionListener(new?ActionListener()?{
public?void?actionPerformed(ActionEvent?e)?{
if(txtname.getText().equals(""))
{
JOptionPane.showMessageDialog(getContentPane(),?"用戶名不能為空","提示信息框",JOptionPane.WARNING_MESSAGE);
}
else{
Users?u=new?Users();
UserDAO?usdo=new?UserDAO();
u=usdo.findUser(txtname.getText(),?txtpassword.getText());
if(u!=null){
JOptionPane.showMessageDialog(getContentPane(),?"該用戶存在!","提示信息框",JOptionPane.WARNING_MESSAGE);
}
else{
JOptionPane.showMessageDialog(getContentPane(),?"該用戶不存在!","提示信息框",JOptionPane.WARNING_MESSAGE);
}
}
}
});
btnfind.setBounds(427,?205,?113,?27);
contentPane.add(btnfind);
//記得要寫這個(gè)
setVisible(true);
}
}
以下方法實(shí)現(xiàn)了用戶界面登陸
import java.awt.*;
import java.awt.event.*;
public class DengLuJieMian extends Frame implements ActionListener
{
Label username=new Label("用戶名:");//使用文本創(chuàng)建一個(gè)用戶名標(biāo)簽
TextField t1=new TextField();//創(chuàng)建一個(gè)文本框?qū)ο?/p>
Label password=new Label("密碼:");//創(chuàng)建一個(gè)密碼標(biāo)簽
TextField t2=new TextField();
Button b1=new Button("登陸");//創(chuàng)建登陸按鈕
Button b2=new Button("取消");//創(chuàng)建取消按鈕
public DengLuJieMian()
{
this.setTitle("學(xué)生信息管理系統(tǒng)");//設(shè)置窗口標(biāo)題
this.setLayout(null);//設(shè)置窗口布局管理器
username.setBounds(50,40,60,20);//設(shè)置姓名標(biāo)簽的初始位置
this.add(username);// 將姓名標(biāo)簽組件添加到容器
t1.setBounds(120,40,80,20);// 設(shè)置文本框的初始位置
this.add(t1);// 將文本框組件添加到容器
password.setBounds(50,100,60,20);//密碼標(biāo)簽的初始位置
this.add(password);//將密碼標(biāo)簽組件添加到容器
t2.setBounds(120,100,80,20);//設(shè)置密碼標(biāo)簽的初始位置
this.add(t2);//將密碼標(biāo)簽組件添加到容器
b1.setBounds(50,150,60,20);//設(shè)置登陸按鈕的初始位置
this.add(b1);//將登陸按鈕組件添加到容器
b2.setBounds(120,150,60,20);//設(shè)置取消按鈕的初始位置
this.add(b2);// 將取消按鈕組件添加到容器
b1.addActionListener(this);//給登陸按鈕添加監(jiān)聽器
b2.addActionListener(this);// 給取消按鈕添加監(jiān)聽器
this.setVisible(true);//設(shè)置窗口的可見性
this.setSize(300,200);//設(shè)置窗口的大小
addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
});//通過內(nèi)部類重寫關(guān)閉窗體的方法
}
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==b1)//處理登陸事件
{
String name=t1.getText();
String pass=t2.getText();
if(name!=nullpass.equals("000123"))//判斷語句
{
new StudentJieMian();
}
}
}
public static void main(String args[])//主函數(shù)
{
new DengLuJieMian();
}
}
以下方法實(shí)現(xiàn)了學(xué)生界面設(shè)計(jì)
import java.awt.*;
import java.awt.event.*;
class StudentJieMian extends Frame implements ActionListener
{
MenuBar m=new MenuBar();//創(chuàng)建菜單欄
Menu m1=new Menu("信息");//創(chuàng)建菜單“信息”
MenuItem m11=new MenuItem("插入");//創(chuàng)建“插入”的菜單項(xiàng)
MenuItem m12=new MenuItem("查詢");
Menu m2=new Menu("成績");//創(chuàng)建菜單“成績”
MenuItem m21=new MenuItem("查詢");
public StudentJieMian()
{
this.setTitle("學(xué)生界面");//設(shè)置窗口標(biāo)題
this.setLayout(new CardLayout());//設(shè)置窗口布局管理器
this.setMenuBar(m);//將菜單欄組件添加到容器
m.add(m1);//將信息菜單放入菜單欄
m.add(m2);
m1.add(m11);//將“插入”菜單項(xiàng)添加到“信息”菜單
m1.add(m12); //將“查詢”菜單項(xiàng)添加到“信息”菜單
m2.add(m21); //將“查詢”菜單項(xiàng)添加到“成績”菜單
m11.addActionListener(this); //給“插入”菜單項(xiàng)添加監(jiān)聽器
m12.addActionListener(this); //給“查詢”菜單項(xiàng)添加監(jiān)聽器
m21.addActionListener(this); //給“查詢”菜單項(xiàng)添加監(jiān)聽器
this.setVisible(true); //設(shè)置窗口的可見性
this.setSize(300,200); //設(shè)置窗口的大小
addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit(0);//關(guān)閉窗口
}
});
}
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==m11) //處理“添加信息”事件
{
new AddStudent();
}
if(e.getSource()==m12) //處理“查詢信息”事件
{
new SelectStudent();
}
if(e.getSource()==m21) //處理“查詢成績”事件
{
new ChengJiStudent();
}
}
public static void main(String args[])
{ new StudentJieMian(); //創(chuàng)建一個(gè)對象 }
import java.awt.*;
import java.awt.event.*;
import java.util.*;
class p1 extends Panel
{
Label l1;
Font f=new Font("宋體",Font.BOLD,20);
p1()
{
setLayout(new GridLayout(1,1));
l1=new Label("網(wǎng)上選課記錄系統(tǒng)",Label.CENTER);
l1.setFont(f);
add(l1);
}
}
class p2 extends Panel
{
Label l1,l2;
TextField t1,t2;
p2()
{
setLayout(new GridLayout(1,4));
l1=new Label("姓名",Label.CENTER);
l2=new Label("學(xué)號(hào)",Label.CENTER);
t1=new TextField(10);
t2=new TextField(10);
add(l1);
add(t1);
add(l2);
add(t2);
}
}
class p3 extends Panel
{
Label l1,l2;
TextField t1,t2;
p3()
{
setLayout(new GridLayout(1,4));
l1=new Label("專業(yè)",Label.CENTER);
l2=new Label("所屬院(系)",Label.CENTER);
t1=new TextField(10);
t2=new TextField(10);
add(l1);
add(t1);
add(l2);
add(t2);
}
}
class p4 extends Panel
{
Label l1;
Button btn1;
Button btn2;
Button btn3;
Font f=new Font("宋體",Font.BOLD,20);
p4()
{
setLayout(new GridLayout(1,4));
l1=new Label("請選擇您要選修的課程并確認(rèn)",Label.CENTER);
btn1=new Button("查詢");
btn2=new Button("確認(rèn)");
btn3=new Button("退出系統(tǒng)");
add(l1);
add(btn1);
add(btn2);
add(btn3);
}
}
class p5 extends Panel
{
List list ;
p5()
{
setLayout(new GridLayout(1,1));
list=new List(8,true);
list.add("大學(xué)英語");
list.add("計(jì)算機(jī)圖形學(xué)");
list.add("JAVA語言");
list.add("高等數(shù)學(xué)");
list.add("數(shù)據(jù)結(jié)構(gòu)");
list.add("單片機(jī)");
list.add("網(wǎng)絡(luò)應(yīng)用與開發(fā)");
list.add("概率論與數(shù)理統(tǒng)計(jì)");
list.add("管理學(xué)概論");
list.add("數(shù)據(jù)庫概論");
list.add("英語聽力");
list.add("VC++");
list.add("商務(wù)英語");
list.add("會(huì)計(jì)學(xué)");
list.add("經(jīng)濟(jì)學(xué)");
list.add("計(jì)算機(jī)網(wǎng)絡(luò)");
add(list);
}
}
class p6 extends Panel
{
TextArea ta;
p6()
{
setLayout(new GridLayout(1,1));
ta=new TextArea(8,30);
add(ta);
}
}
class p8 extends Panel
{
Label l1,l2,l3;
Label l4,l5,l6,l7,l9;
Panel p11,p22,p33,p44,p55;
TextField t1,t2;
Button btn;
p8()
{
p11=new Panel();
p22=new Panel();
p33=new Panel();
p44=new Panel();
p55=new Panel();
p11.setLayout(new GridLayout(1,1));
p22.setLayout(new GridLayout(1,1));
p33.setLayout(new GridLayout(1,4));
p44.setLayout(new GridLayout(1,4));
p55.setLayout(new GridLayout(1,1));
l4=new Label("");
l5=new Label("");
l6=new Label("");
l7=new Label("");
l9=new Label("");
l1=new Label("歡迎來到網(wǎng)上選課系統(tǒng)",Label.CENTER);
Font f=new Font("宋體",Font.BOLD,30);
l1.setFont(f);
l2=new Label("請輸入管理員帳號(hào)",Label.CENTER);
l3=new Label("請輸入管理員密碼",Label.CENTER);
setBackground(Color.lightGray);
btn=new Button("確定");
t1=new TextField(20);
t2=new TextField(15);
t2.setEchoChar(′*′);
l1.setForeground(Color.magenta);
t1.setBackground(Color.cyan);
t2.setBackground(Color.cyan);
t1.setForeground(Color.red);
t2.setForeground(Color.red);
l2.setForeground(Color.blue);
l3.setForeground(Color.blue);
p11.add(l1);
p22.add(l4);
p33.add(l5);
p33.add(l2);
p33.add(t1);
p33.add(l6);
p44.add(l7);
p44.add(l3);
p44.add(t2);
p44.add(btn);
p55.add(l9);
setLayout(new GridLayout(5,1));
add(p11);
add(p22);
add(p33);
add(p44);
add(p55);
}
}
class p9 extends Panel
{
p1 pn1=new p1();
p2 pn2=new p2();
p3 pn3=new p3();
p4 pn4=new p4();
p5 pn5=new p5();
p6 pn6=new p6();
p9()
{
setLayout(new GridLayout(6,1));
add(pn1);
add(pn2);
add(pn3);
add(pn4);
add(pn5);
add(pn6);
}
}
class user
{
String username;
String sd;
String major;
String institute;
String course;
user(String x1,String x2,String x3,String x4,String x5)
{
username=x1;
sd=x2;
major=x3;
institute=x4;
course=x5;
}
}
public class www
{
public static void main(String args[])
{
new m();
}
}
class m extends Frame implements ActionListener,ItemListener
{
StringBuffer ss=new StringBuffer("您好!您選修的課程有:");
Vector xiang=new Vector();
p9 pn9;
p8 pn8;
CardLayout cc=new CardLayout();
Button btn1;
Dialog d1;
m()
{
super("網(wǎng)上選課");
pn8=new p8();
pn9=new p9();
setLayout(cc);
add("one",pn8);
add("two",pn9);
btn1=new Button("確定");
pn9.pn1.l1.setBackground(Color.pink);
pn9.pn1.l1.setForeground(Color.blue);
pn9.pn2.l1.setBackground(Color.gray);
pn9.pn2.l1.setForeground(Color.orange);
pn9.pn2.l2.setBackground(Color.gray);
pn9.pn2.l2.setForeground(Color.orange);
pn9.pn3.l1.setBackground(Color.gray);
pn9.pn3.l1.setForeground(Color.orange);
pn9.pn3.l2.setBackground(Color.gray);
pn9.pn3.l2.setForeground(Color.orange);
pn9.pn2.t1.setForeground(Color.red);
pn9.pn2.t1.setBackground(Color.cyan);
pn9.pn2.t2.setForeground(Color.red);
pn9.pn2.t2.setBackground(Color.cyan);
pn9.pn3.t1.setForeground(Color.red);
pn9.pn3.t1.setBackground(Color.cyan);
pn9.pn3.t2.setForeground(Color.red);
pn9.pn3.t2.setBackground(Color.cyan);
pn9.pn5.list.setBackground(Color.pink);
pn9.pn5.list.setForeground(Color.blue);
pn9.pn6.ta.setBackground(Color.blue);
pn9.pn6.ta.setForeground(Color.white);
pn9.pn4.btn1.addActionListener(this);
pn9.pn4.btn2.addActionListener(this);
pn9.pn4.btn3.addActionListener(this);
pn9.pn5.list.addActionListener(this);
(pn9.pn5.list).addItemListener(this);
pn8.btn.addActionListener(this);
btn1.addActionListener(this);
setSize(650,400);
show();
}
public void actionPerformed(ActionEvent e)
{
xiang.addElement(new user("馬先生","23597483","計(jì)算機(jī)","計(jì)算機(jī)系","單片機(jī),數(shù)學(xué)"));
xiang.addElement(new user("楊先生","7899452","計(jì)算機(jī)","計(jì)算機(jī)系","單片機(jī),數(shù)學(xué)"));
xiang.addElement(new user("董先生","7899452","計(jì)算機(jī)","計(jì)算機(jī)系","單片機(jī),數(shù)學(xué)"));
xiang.addElement(new user("何先生","7899453","計(jì)算機(jī)","計(jì)算機(jī)系","單片機(jī),數(shù)學(xué)"));
if(e.getSource()==pn8.btn)
{
String ss="123";
if(ss.compareTo(pn8.t1.getText())==0ss.compareTo(pn8.t2.getText())==0)
cc.show(this,"two");
else
{
d1=new Dialog(this,"警告",true);
Panel p1=new Panel();
p1.add(new Label("您無權(quán)進(jìn)本系統(tǒng)!"));
d1.add("Center",p1);
Panel p2=new Panel();
p2.add(btn1);
d1.add("South",p2);
d1.setSize(200,100);
d1.show();
}
}
if(e.getSource()==btn1)
{
d1.dispose();
}
if(e.getSource()==pn9.pn4.btn3)
{
dispose();
System.exit(0);
}
if(e.getSource()==pn9.pn4.btn2)
{
pn9.pn6.ta.setText("");
ss.append(" 您的姓名是:"+pn9.pn2.t1.getText()+" "+"您的學(xué)號(hào)是:"+pn9.pn2.t2.getText()+" ");
ss.append("您的專業(yè)是:"+pn9.pn3.t1.getText()+" "+"您所在院(系)是:"+pn9.pn3.t2.getText()+" ");
ss.append("您的所有信息將被保存!");
pn9.pn6.ta.setText(ss.toString());
user s1=new user(pn9.pn2.t1.getText(),pn9.pn2.t2.getText(),pn9.pn3.t1.getText(),pn9.pn3.t2.getText(),ss.toString());
int i;
for(i=0;ixiang.size();i++)
{
user s=(user)xiang.elementAt(i);
if(s.sd.compareTo(s1.sd)==0)
{
s.username=s1.username;
s.sd=s1.sd;
s.major=s1.major;
s.institute=s1.institute;
s.course=s1.course;
xiang.setElementAt(new user(s.username,s.sd,s.major,s.institute,s.course),i);
break;
}
}
if(i==xiang.size())
xiang.addElement(new user(pn9.pn2.t1.getText(),pn9.pn2.t2.getText(),pn9.pn3.t1.getText(),pn9.pn3.t2.getText(),ss.toString()));
}
if(e.getSource()==pn9.pn4.btn1)
{
pn9.pn6.ta.setText("");
if(pn9.pn2.t2.getText()=="")
{
d1=new Dialog(this,"注意",true);
Panel p1=new Panel();
p1.add(new Label("按學(xué)號(hào)進(jìn)行查詢!請輸入學(xué)號(hào)!再按此鍵!"));
d1.add("Center",p1);
Panel p2=new Panel();
p2.add(btn1);
d1.add("South",p2);
d1.setSize(250,100);
d1.show();
}
int i;
for(i=0;ixiang.size();i++)
{
user s=(user)xiang.elementAt(i);
if(s.sd.compareTo(pn9.pn2.t2.getText())==0)
{
pn9.pn2.t1.setText(""+s.username);
pn9.pn3.t1.setText(""+s.major);
pn9.pn3.t2.setText(""+s.institute);
pn9.pn6.ta.setText("您選修的課程有:"+s.course);
break;
}
}
if(i==xiang.size())
{
d1=new Dialog(this,"警告",true);
Panel p1=new Panel();
p1.add(new Label("用戶不存在!請重新輸入!"));
d1.add("Center",p1);
Panel p2=new Panel();
p2.add(btn1);
d1.add("South",p2);
d1.setSize(200,100);
d1.show();
}
}
}
public void itemStateChanged(ItemEvent e)
{
List temp;
String sList[];
String mgr=new String("");
if(e.getItemSelectable()instanceof List)
{
temp=(List)(e.getItemSelectable());
sList=temp.getSelectedItems();
for(int i=0;isList.length;i++)
mgr=mgr+sList[i]+" ";
ss.append(mgr);
}
}
}
本程序已經(jīng)成功?。。⊥衮?yàn)證!?。?!
我使用幾系統(tǒng)都B/S結(jié)構(gòu)每登錄都需要輸入用戶名密碼覺非麻煩考慮其同事需求妨寫自登錄程序吧前考慮使用單點(diǎn)登錄幾經(jīng)嘗試放棄
我習(xí)慣使用Java本能始尋找Java解決Google輸入Java自登錄、Java網(wǎng)頁模擬登錄、Java Post 登錄結(jié)倒少內(nèi)容差我嘗試終究沒達(dá)我預(yù)期目標(biāo)我都知道些代碼應(yīng)該jsp頁面執(zhí)行c/s結(jié)構(gòu)程序執(zhí)行些代碼確實(shí)管用
我先析代碼
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結(jié)構(gòu)且參數(shù)確程序能夠功登錄oa系統(tǒng)要看結(jié)通面代碼系統(tǒng)服務(wù)器返結(jié)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結(jié)構(gòu)控制臺(tái)輸返值返內(nèi)容看程序已經(jīng)功登錄要網(wǎng)址瀏覽器打重新登錄問題沒根本解決惡意注冊應(yīng)該達(dá)目
看C/S結(jié)構(gòu)容易實(shí)現(xiàn)網(wǎng)頁程序自登錄除非C/S程序內(nèi)嵌瀏覽器直接瀏覽器自訪問系統(tǒng)應(yīng)該沒別主要問題于我沒辦共享Session
便于共享Session我能瀏覽器實(shí)現(xiàn)網(wǎng)頁自登錄通面代碼jsp頁面測試達(dá)預(yù)期目標(biāo)
網(wǎng)頁自登錄希望程序自填充用戶名密碼Post式提交給登錄頁面Form所指向action頁面或我系統(tǒng)登錄頁面源代碼保存網(wǎng)頁usernamepassword文本框設(shè)置默認(rèn)值通網(wǎng)頁登錄系統(tǒng)測試發(fā)現(xiàn)行接能已經(jīng)想解決
我通url.openConnection()建立連接返scontent打印接著打印代碼:
out.println("\r\n");
原理簡單通login.jsp登錄頁面全部源代碼寫前頁面使用javascript腳本用戶名密碼值填充提交表單終于實(shí)現(xiàn)自登錄目標(biāo)現(xiàn)我通特殊網(wǎng)址例自訪問oa
能注意參數(shù)url值經(jīng)加密內(nèi)容用戶名密碼加效期即效期內(nèi)鏈接才效才實(shí)現(xiàn)自登錄