「java参数提取」java 获取命令行参数
本篇文章给大家谈谈java参数提取,以及java 获取命令行参数对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
java怎么获取方法参数名
在java中,可以通过反射获取到类、字段、方法签名等相关的信息,像方法名、返回值类型、参数类型、泛型类型参数等,但是不能够获取方法的参数名。在实际开发场景中,有时需要根据方法的参数名做一些操作,比如像spring-mvc中,@RequestParam、@PathVariable注解,如果不指定相应的value属性,默认就是使用方法的参数名做为HTTP请求的参数名,它是怎么做到的呢?
在这样情况下,有两种方法获取方法来解决这种需求,第一种方法是使用注解,在注解中指定对应应的参数名称,在需要使用参数名称时,获取注解中相应的值即可。第二种方法是从字节码中获取方法的参数名,但是这有一个限制,只有在编译时使用了-g或-g:vars参数生成了调试信息,class文件中才会生成方法参数名信息(在本地变量表LocalVariableTable中),而使用-g:none方式编译的class文件中是没有方法参数名信息的。所以要想完全不依赖class文件的编译模式,就不能使用这种方式。
java怎样获取url参数
如果是javaweb 项目,那么非常简单,直接调用 HttpServletRequest 对象的 .getParamter("参数名称") 方法即可得到。
如果是普通java 项目:
/**
* 获取网址的指定参数值
*
* @param url
* 网址
* @param parameter
* 参数名称
* @author cevencheng
* @return
*/
public static String getParameter(String url, String parameter, String defaultValue) {
try {
final String charset = "utf-8";
url = URLDecoder.decode(url, charset);
if (url.indexOf('?') != -1) {
final String contents = url.substring(url.indexOf('?') + 1);
HashMapString, String map = new HashMapString, String();
String[] keyValues = contents.split("");
for (int i = 0; i keyValues.length; i++) {
String key = keyValues[i].substring(0, keyValues[i].indexOf("="));
String value = keyValues[i].substring(keyValues[i].indexOf("=") + 1);
if (key.equals(parameter)) {
if (value == null || "".equals(value.trim())) {
return defaultValue;
}
return value;
}
map.put(key, value);
}
}
return null;
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
servlet 从java中获取参数
在web.xml里面可以定义两种参数:
一种是全局范围的参数,
一种是servlet内的参数。
web.xml里定义参数的应用举例:在做分页功能时,可以在代码中直给定pageSize的值,这样,写死在代码中,灵活性差。改进方法:将pageSize配置在web.xml中,然后再在代码中获取。
1. 全局范围的参数,存放在ServletContext对象中,在web.xml中的配置如下:
1 context-param2 param-namepage-size/param-name3 param-value2/param-value4 /context-param
在servlet中的获取:
1 ServletContext sc = this.getServletContext();2 String strPageSize = sc.getInitParameter("page-size");3 int pageSize=Integer.parseInt(strPageSize);
或
1 int pageSize=Integer.parseInt(this.getServletContext().getInitParameter("page-size"));
2. Servlet范围内的参数,只能在servlet的inti()方法中取得,在web.xml中的配置如下:
1 servlet 2 servlet-nameSearchItemServlet/servlet-name 3 servlet-class 4 com.bjpowernode.drp.basedata.web.SearchItemServlet 5 /servlet-class 6 init-param 7 param-namepage-size/param-name 8 param-value3/param-value 9 /init-param10 /servlet
在servlet中的获取:
1 int pageSize=Integer.parseInt(this.getServletConfig().getInitParameter("page-size"));
getServletContext()获得的是 context-param /context-param配置的参数信息
getServletConfig()获得的是 init-param /init-param配置的参数信息
关于java参数提取和java 获取命令行参数的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。