package com.bjpowernode.drp.web.actions;
import java.util.Arrays;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import com.bjpowernode.drp.web.forms.LoginActionForm;
/**
* 登录Action
* 负责取得表单数据、调用业务逻辑、返回转向信息
*
* @author Administrator
*
*/
public class LoginAction extends Action {
@Override
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
//取得表单数据
LoginActionForm laf=(LoginActionForm)form;
//取得用户名,密码
String username=laf.getUsername();
String password=laf.getPassword();
//转向对象
ActionForward actionForward=null;
//判断用户名,密码是否正确
if ("admin".equals(username) && "admin".equals(password)) {
//得到远程客户端IP地址
String remoteAddr=request.getRemoteAddr();
//将客户端IP地址以“.”分割为数组remoteAddrs[1]);
String[] remoteAddrs=remoteAddr.split("\\.");
//从配置文件中取得IP范围 ,四个数组分别保存的IP地址四部分的上界和下界
String[] ipOne=request.getSession().getServletContext().getInitParameter("ip-one").split(",");
String[] ipTwo=request.getSession().getServletContext().getInitParameter("ip-two").split(",");
String[] ipThree=request.getSession().getServletContext().getInitParameter("ip-three").split(",");
String[] ipFour=request.getSession().getServletContext().getInitParameter("ip-four").split(",");
//取得第四部分的上下界
int m=Integer.parseInt(ipFour[0]);
int n=Integer.parseInt(ipFour[1]);
//判断客户端IP地址是否在设置范围内
if (ipOne[0].equals(remoteAddrs[0]) && ipTwo[0].equals(remoteAddrs[1]) && ipThree[0].equals(remoteAddrs[2])) {
for(int i=m;i<=n;i++) {
if (Integer.parseInt(remoteAddrs[3])==i) {
//登录成功
request.getSession().setAttribute("user", username);
actionForward= mapping.findForward("success");
}
}
actionForward= mapping.findForward("ipError");
}
}else {
//登录失败
actionForward= mapping.findForward("index");
}
return actionForward;
}
}
相关推荐
java判断IP是否在指定范围内,支持IPV4和IPV6。
Java ip 地址排序Java ip 地址排序Java ip 地址排序Java ip 地址排序
1.根据来访IP判断是否在指定国家(IP段)范围内 2.简易js获取浏览器语言,来跳转到不同语种的页面
ip工具类(用于判断IP是否在网段内,给定网段判断IP的范围)
java正则表达式验证IP地址
使用java获取所在局域网的所有在用ip,可以检测目前有哪些ip在使用
多线程代理IP池,一直看到有关这方面的技术,最近实现了一个。简单的来说,启动后,会一直定时的获取代理ip,并自动检测代理ip的活跃度。运用多线程的技术,在极短的时间内获取大量的ip进行筛选。架构也比较清楚,...
java读取纯真IP地址数据库 使用java读取纯真ip数据库,里面带一个最近更新的ip库,想要最新的,可以拿名字百度
此java类获取的是公网的IP地址,如想获取本机IP但不是公网IP查看我其他资源。
用Java写的一个小巧程序,局域网内,扫描开放指定端口的主机
输入IP地址及掩码(如24),计算出地址范围 1、计算出掩码指定的IP地址个数 2、分割IP地址 3、将10.0.0.0形式的ip地址转换成10进制整数 4、将10进制整数形式转换成127.0.0.1形式的IP地址
通过java 验证机器与某ip地址能否联通的工具类。配置ip地址就可以测试使用了。
在JSP里,获取客户端的IP地址的方法是:request.getRemoteAddr(),这种方法在大部分情况下都是有效的。但是在通过了Apache,Squid等反向代理软件就不能获取到客户端的真实IP地址了。如果使用了反向代理软件,用...
Java判断数字是否在制定范围 A B 中或者与A B 相等
java根据ip获取国家、地区名称,附带ip地址库
用Java实现对IP/TCP协议数据包的拦截和分析,得出IP的详细信息。
动态修改IP地址 动态修改IP地址 动态修改IP地址 动态修改IP地址
java判断百度地图的点是否在多边形区域内,这是完整的demo
java根据ip获取国家、地区名称,附带ip库
IP地址格式输入,JAVA编写,之前写了个比较繁琐,这里写了个简洁的,只有一个java文件。