`

j2ee获取客户端参数集

    博客分类:
  • J2EE
阅读更多

package javacommon.util;

import java.io.IOException;
import java.io.PrintWriter;
import java.io.UnsupportedEncodingException;
import java.net.HttpURLConnection;
import java.net.URL;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.util.Assert;

public class ServletUtil {
	
	/**
	 * 取得客户端真实IP
	 * @param request
	 * @return
	 */
	public static String  getRemortIP(HttpServletRequest request) {
		  if (request.getHeader("x-forwarded-for") == null) {
		   return request.getRemoteAddr();
		  }
		  return request.getHeader("x-forwarded-for");
		}
	public String getIpAddr(HttpServletRequest request) {
	       String ip = request.getHeader("x-forwarded-for");
	       if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
	           ip = request.getHeader("Proxy-Client-IP");
	       }
	       if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
	           ip = request.getHeader("WL-Proxy-Client-IP");
	       }
	       if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
	           ip = request.getRemoteAddr();
	       }
	       return ip;
	   }
	
	/**
	 * 打开URL返回状态码
	 * @param url
	 * @return
	 */
	public static int openUrl(String urlstr)throws Exception{
		
		URL url = new URL(urlstr);
		HttpURLConnection conn = (HttpURLConnection) url.openConnection();
		
		return conn.getResponseCode();
	}
	/**
	 * 直接输出文本
	 * @param response
	 * @param text
	 */
	public static void rendText(HttpServletResponse response,String text){
		try {
			response.setCharacterEncoding("utf-8");
//			response.s
			PrintWriter print=response.getWriter();
			print.print(text);
			print.flush();
			print.close();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
	
	/**
	 * 直接输出js内容
	 * @param response
	 * @param text
	 */
	public static void printJavaScript(HttpServletResponse response,String text){
		StringBuffer sb = new StringBuffer("<script>");	
		sb.append(text);
		sb.append("</script>");
		rendText(response,sb.toString());
	}
	
	/**
	 * 从request中取得指定参数的值 
	 * @param request HttpServletRequest
	 * @param name 参数名
	 * @param defaultValue 默认值
	 * @return int
	 */
	public static int getParameter(HttpServletRequest request,String name,int defaultValue){
		Assert.notNull(request, "Request must not be null");
		String v = request.getParameter(name);

		if(v!=null && !v.equals("")){
			try{
				defaultValue = Integer.parseInt(v);
			}catch(NumberFormatException e){
				
			}
		}
		return defaultValue;
		
	}
	
	/**
	 * 从request中取得指定参数的值 
	 * @param request HttpServletRequest
	 * @param name 参数名
	 * @param defaultValue 默认值
	 * @return long
	 */
	public static long getParameter(HttpServletRequest request,String name,long defaultValue){
		Assert.notNull(request, "Request must not be null");
		String v = request.getParameter(name);
		if(v!=null && !v.equals("")){
			try{
				defaultValue = Long.parseLong(v);
			}catch(NumberFormatException e){
				
			}
		}
		return defaultValue;
		
	}
	
	/**
	 * 从request中取得指定参数的值 
	 * @param request HttpServletRequest
	 * @param name 参数名
	 * @param defaultValue 默认值
	 * @return string
	 */
	public static String getParameter(HttpServletRequest request,String name,String defaultValue){
		Assert.notNull(request, "Request must not be null");
		try {
			if(request.getParameter(name)==null){
				return defaultValue;
			}
			String v = request.getParameter(name);
			if(v!=null && !v.equals("")){
				return v;
			}
			return defaultValue;
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
			return defaultValue;
		}
	}

}
 
分享到:
评论

相关推荐

    J2EE登陆和分页

    2. 在服务器端,接收来自客户端的页码和每页条数参数,构造对应的SQL查询。 3. 执行查询,获取当前页的数据,并计算总页数(总记录数除以每页条数,向上取整)。 4. 将结果集转换为业务对象(BO)或数据传输对象...

    J2EE面试题集(java面试宝典)

    - **request**:表示 HttpServletRequest 对象,用于获取客户端发送的请求信息。 - **response**:表示 HttpServletResponse 对象,用于设置和发送响应信息给客户端。 - **out**:JspWriter 对象,用于向客户端输出...

    j2ee期末复习资料

    - `getParameter()`方法:用于获取HTTP请求参数,如果参数名是字符串形式,应该使用双引号包围,如`request.getParameter("name")`来准确获取文本框输入。 3. **HttpServletResponse对象**: - `sendRedirect()`...

    非常全面的一个j2ee教程(经过整理,适合初学者)

    - **request对象**:获取客户端请求的信息。 - **response对象**:用于向客户端发送响应。 - **session对象**:管理用户会话状态。 - **application对象**:管理整个Web应用的全局状态。 - **pageContext对象**...

    J2EE经典教程

    - **5.7.2 request对象**:获取客户端请求信息。 - **5.7.3 response对象**:设置响应头信息,向客户端发送响应。 - **5.7.4 session对象**:管理客户端会话。 - **5.7.5 application对象**:管理Web应用范围内的...

    j2ee攻略(经典)

    ### J2EE攻略(经典) #### 一、EJB基础知识与运行环境配置 **1.1 什么是Enterprise JavaBeans (EJB)** EJB(Enterprise JavaBeans)是一种Java技术规范,用于开发分布式企业级应用程序。它提供了一种将业务逻辑...

    J2EE编程技术期末复习题

    10. JSP 标准标记库是一个实现(Web)应用程序中常用功能的定制标记库集。JSP 标准标记库提供了一组常用的标记,例如输出、循环、条件等,可以简化 JSP 页面的开发。 二、单项选择题 1. 表单数据的提交方法有两种,...

    j2ee+springboot+springcloud+mybatis

    MyBatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。MyBatis可以使用简单的XML或注解进行配置和原始映射,将接口和Java的POJOs(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录。 将这四...

    韩顺平.j2ee视频实战教程servlet迅雷地址

    - **请求对象**:通过`HttpServletRequest`对象获取请求参数、请求头等信息。 - **响应对象**:使用`HttpServletResponse`对象设置响应状态码、响应头和响应体等。 - **转发与重定向**:使用`RequestDispatcher`接口...

    2012年9月份上海地区J2EE面试题集(附答案)

    - **redirect**:重定向,客户端会收到一个HTTP响应,告诉它去另一个位置获取资源,因此客户端会发送一个新的HTTP请求到新的URL,这会导致两次HTTP请求,且第二次请求会丢失第一次的属性和参数。 #### 5. 什么是Web...

    j2ee13:jsp02,request对象,中文乱码处理,url传参

    在JSP中,`request`对象是`HttpServletRequest`类型的实例,它是Servlet API的一部分,提供了获取客户端发送到服务器的所有信息的方法。例如,`getParameter()`用于获取请求参数,`getHeader()`用于获取请求头,`...

    山东建筑大学J2EE讲义

    `PreparedStatement`是`Statement`的子类,它可以预编译SQL语句,并允许设置参数值,提高SQL执行效率和安全性。 **3.3 JDBC事务** JDBC支持事务处理,通过`Connection`对象的`setAutoCommit(false)`方法可以开启...

    J2EE学习教程

    - `request`:获取客户端请求信息。 - `response`:向客户端发送响应。 - `session`:管理用户会话。 - `application`:管理应用程序范围内的信息。 - `pageContext`:提供对所有其他内置对象的访问。 7. **...

    J2EE学习笔记

    Action的结果类型有几种,如`Dispatcher`(服务器转发,显示Action地址,适用于同个Action间的共享),`Redirect`(客户端重定向,显示JSP地址,需要手动传递参数),`Chain`(类似于Dispatcher,但不共享值栈),...

    J2EE领域的一些技术框架结构图.docx

    MyBatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。MyBatis可以使用简单的XML或注解进行配置和原始映射,将接口和Java的POJOs(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录。在Spring...

    J2EE电子商务系统开发从入门到精通:基于Struts和Hibernate技术实现

    - **J2EE体系架构概述**:J2EE体系架构由多个相互协作的组件组成,包括但不限于EJB容器、应用程序客户端、Web服务器和应用服务器等。 - **J2EE主要技术**:这些技术主要包括Servlets、JavaServer Pages (JSP)、...

    JSP基础教程,j2ee初学者

    ### JSP基础教程:j2ee初学者指南 #### JSP概念回顾与解析 JavaServer Pages(简称JSP)是一种动态网页技术标准,它在传统的HTML基础上嵌入了Java代码,使得网页具备了动态生成的能力。JSP由Sun Microsystems公司...

    笔试型_J2EE初级技术面试题目

    ### 笔试型_J2EE初级技术面试题目详解 #### 1. Classpath与path的使用 Classpath和path是Java开发中常见的环境变量,它们分别用于指定Java编译器和运行时查找类库和可执行文件的路径。Classpath主要用于指向.class...

Global site tag (gtag.js) - Google Analytics