JAVA LOGIN 语法

Python014

JAVA LOGIN 语法,第1张

<%@ page language="java" pageEncoding="GBK"%>

<%@ page import="com.sessionloading.*" %>

<%@ page import="com.function.*" %>

<%@page import="com.news.form.TongziForm"%>

<%@page import="com.news.bean.TongziBean"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

<head>

<title><%=session.getAttribute("govtitle")%>

</title> <meta http-equiv="pragma" content="no-cache">

<meta http-equiv="cache-control" content="no-cache">

<meta http-equiv="expires" content="0">

<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">

<meta http-equiv="description" content="This is my page">

<!--

<link rel="stylesheet" type="text/css" href="styles.css">

--></head>

<body>

<%//session 的二次赋值,解决session 丢失

String number1 = StrdesUnit.decrypt(request.getParameter("u1"))//用户编号、用户编码

String type = StrdesUnit.decrypt(request.getParameter("u2"))//登陆用户类型代理机构、管理处

String username = StrdesUnit.decrypt(request.getParameter("u3"))//登陆用户名称代理机构、管理处

session.setAttribute(SessionFactory.username,username)

session.setAttribute(SessionFactory.userid,number1)

session.setAttribute(SessionFactory.usertype,type)

//String avc="001"

//System.out.println(Counter.urlencoder(avc))

// number1=number1.toLowerCase()

TongziForm tForm=new TongziForm()

tForm.setZu_id(number1)

tForm.setZu_type(session.getAttribute("usertype").toString())

TongziBean tBean=new TongziBean()

tBean.listShowTz(tForm,request,"")

//加密参数

//new MainManager().getnumber()

//Counter.urldecoder(Counter.urlencoder(avc))//解密参数

//new MainManager().getnumber()

if(type.equals("002") ||type.equals("001")){ out.write("<script>var i=screen.availWidth-1000if(i>0){i=i/2}else{i=0} var y=screen.availHeight-700if(y>10){y=y/2-5}else{y=0}var nav=navigator.appVersionwindow.opener=nullwindow.open('govstart.jsp','fourBase','width=1000px,height=700px,left='+i+',top='+y+',toolbar=no,menubar=no,scrollbars=yes,resizable=no,location=no,status=yes,hotkeys=no')window.open('','_parent','')window.close()</script>")

//left=0px,top=0px,width=1024px,height=700px,toolbar=no,menubar=no,Resizable=yes,scrollbars=yes, status=no

}else{

out.write("<script>alert('提示:请从正常途径登录本系统!')top.close()</script>")

}%>

</body>

</html>

Scanner sc = new Scanner(System.in)

int num = sc.nextInt()

if (num == 4) {

Login()//调用Login

}

假设你LoginImpl类里写了具体的登录验证的逻辑并且有与数据库交互的相关方法,此时你用的是mysql数据库。

如果有一天你想对登录的逻辑进行修改或者改用其他数据库比如oracle、sql server。

那么此时如果你使用的是第一种方法初始化login对象

那么你只需要新键一个类LoginImpl4oracle并且实现Login接口(接口内已经定义好了全部需要的方法,只要挨个实现就可以了,不需要重新梳理业务逻辑,重新定义各种方法)。

程序中将Login login=new LoginImpl()

这句改成Login login=new LoginImpl4oracle()

其他代码完全不用改,甚至可以把对象初始化写成配置文件,那么程序都不需要重新编译,只改配置文件就可以了。

而第二种LoginImpl login=new LoginImpl()

如果你想换实现就很麻烦,你不知道原来这个实现类有那些方法并且代码需要重新编译。

这就是面向接口变成的好处。