如何在servlet里提取别人直接传过来的url里带中文和#的地址

如何在servlet里提取别人直接传过来的url里带中文和#的地址,第1张

别人调用我们提供的MsgManagerdo这个servlet来向我们传递数据,地址格式如下:

/MsgManagerdouser=aa&password=aa&txflag=1&tel=13618668888&sendtime=2009-06-17#14:33:47&msg=306测试

请教一下如何能在MsgManagerdo这个servlet里提取这个地址并进行分析,从而获取里面的参数

关键是里面带的有#号和中文

我们整个网站都用的编码过滤器,统一的“utf-8”

参考相对路dao径和绝对路du径的区别,具体zhi百度。

RequestDispatcher getRequestDispatcher(javalangString path)

path相对路径dao和绝对路径都可版以,到哪里去就写那个path 。权

Active文件夹下的activeshowjsp网页 : /项目名称/Active/activeshowjsp (绝对路径)

activeshowjsp (相对路径)

activejsp提交到Cars文件夹中的jsp网页上 : /项目名称/Cars/xxxjsp( 绝对路径)

/Cars/xxxjsp(相对路径)

扩展资料:

Python在设计上坚持了清晰划一的风格,这使得Python成为一门易读、易维护,并且被大量用户所欢迎的、用途广泛的语言。

设计者开发时总的指导思想是,对于一个特定的问题,只要有一种最好的方法来解决就好了。这在由Tim Peters写的Python格言(称为The Zen of Python)里面表述为:There should be one-- and preferably only one --obvious way to do it 这正好和Perl语言(另一种功能类似的高级动态语言)的中心思想TMTOWTDI(There's More Than One Way To Do It)完全相反。

Python的作者有意的设计限制性很强的语法,使得不好的编程习惯(例如if语句的下一行不向右缩进)都不能通过编译。其中很重要的一项就是Python的缩进规则。

一个和其他大多数语言(如C)的区别就是,一个模块的界限,完全是由每行的首字符在这一行的位置来决定的(而C语言是用一对花括号{}来明确的定出模块的边界的,与字符的位置毫无关系)。这一点曾经引起过争议。因为自从C这类的语言诞生后,语言的语法含义与字符的排列方式分离开来,曾经被认为是一种程序语言的进步。不过不可否认的是,通过强制程序员们缩进(包括if,for和函数定义等所有需要使用模块的地方),Python确实使得程序更加清晰和美观。

>

requestgetHeader("REDIRECT_URL");

或试试

那在servlet里边或者action调用requestgetRequestURL()就是了。

如果是获得容器内部的请求URI:requestgetRequestURI(),两个方法挺象的。

如果是javaweb 项目,那么非常简单,直接调用 >

很简单 我举个例子

<a href="indexhtmlsid='123456'">超链接</a> webxml里面做好处理 到达servlet 在servlet里面直接用requestgetParameter("sid");就可以获取了 简单吧

通过你dispacher拦截器的请求就可以进来 并且在请求分发的时候 如果没有配对的请求 就会报错的 你这种安全性设置其实没什么意义 可以把重要文件放在WEB-INF下 因为这是隐藏目录 所以按路径找不到的。如果你真想让url访问不了 方法如下

1如果你用的是springMVC的注解模式 在Controller里RequestMapping的method全变成post(因为url 是要用get方法的对吧)

2springMVC的声明模式 那你需要去spring的主配置文件去配置那个Conntroller 方法同上

这样的即便前面拦截器拦到了 到这里也就被挡住了

1、利用SystemgetProperty()函数获取当前路径:

Systemoutprintln(SystemgetProperty("userdir"));//userdir指定了当前的路径

2、使用File提供的函数获取当前路径:

File directory = new File("");//设定为当前文件夹

try{

Systemoutprintln(directorygetCanonicalPath());//获取标准的路径

Systemoutprintln(directorygetAbsolutePath());//获取绝对路径

}catch(Exceptin e){}

FilegetCanonicalPath()和FilegetAbsolutePath()大约只是对于new File("")和new File("")两种路径有所区别。

# 对于getCanonicalPath()函数,“"就表示当前的文件夹,而”“则表示当前文件夹的上一级文件夹

# 对于getAbsolutePath()函数,则不管””、“”,返回当前的路径加上你在new File()时设定的路径

# 至于getPath()函数,得到的只是你在new File()时设定的路径

比如当前的路径为 C:/test :

File directory = new File("abc");

directorygetCanonicalPath(); //得到的是C:/test/abc

directorygetAbsolutePath(); //得到的是C:/test/abc

direcotrygetPath(); //得到的是abc

File directory = new File("");

directorygetCanonicalPath(); //得到的是C:/test

directorygetAbsolutePath(); //得到的是C:/test/

direcotrygetPath(); //得到的是

File directory = new File("");

directorygetCanonicalPath(); //得到的是C:/

directorygetAbsolutePath(); //得到的是C:/test/

direcotrygetPath(); //得到的是

另外:SystemgetProperty()中的字符串参数如下:

SystemgetProperty()参数大全

# javaversion Java Runtime Environment version

# javavendor Java Runtime Environment vendor

# javavendorurl Java vendor URL

# javahome Java installation directory

# javavmspecificationversion Java Virtual Machine specification version

# javavmspecificationvendor Java Virtual Machine specification vendor

# javavmspecificationname Java Virtual Machine specification name

# javavmversion Java Virtual Machine implementation version

# javavmvendor Java Virtual Machine implementation vendor

# javavmname Java Virtual Machine implementation name

# javaspecificationversion Java Runtime Environment specification version

# javaspecificationvendor Java Runtime Environment specification vendor

# javaspecificationname Java Runtime Environment specification name

# javaclassversion Java class format version number

# javaclasspath Java class path

# javalibrarypath List of paths to search when loading libraries

# javaiotmpdir Default temp file path

# javacompiler Name of JIT compiler to use

# javaextdirs Path of extension directory or directories

# osname Operating system name

# osarch Operating system architecture

# osversion Operating system version

# fileseparator File separator ("/" on UNIX)

# pathseparator Path separator (":" on UNIX)

# lineseparator Line separator ("/n" on UNIX)

# username User’s account name

# userhome User’s home directory

# userdir User’s current working directory

JAVA中获取路径:

1jsp中取得路径:

以工程名为TEST为例:

(1)得到包含工程名的当前页面全路径:requestgetRequestURI()

结果:/TEST/testjsp

(2)得到工程名:requestgetContextPath()

结果:/TEST

(3)得到当前页面所在目录下全名称:requestgetServletPath()

结果:如果页面在jsp目录下 /TEST/jsp/testjsp

(4)得到页面所在服务器的全路径:applicationgetRealPath("页面jsp")

结果:D:/resin/webapps/TEST/testjsp

(5)得到页面所在服务器的绝对路径:absPath=new javaioFile(applicationgetRealPath(requestgetRequestURI()))getParent();

结果:D:/resin/webapps/TEST

2在类中取得路径:

(1)类的绝对路径:ClassclassgetClass()getResource("/")getPath()

结果:/D:/TEST/WebRoot/WEB-INF/classes/pack/

(2)得到工程的路径:SystemgetProperty("userdir")

结果:D:/TEST

3在Servlet中取得路径:

(1)得到工程目录:requestgetSession()getServletContext()getRealPath("") 参数可具体到包名。

结果:E:/Tomcat/webapps/TEST

(2)得到IE地址栏地址:requestgetRequestURL()

结果:>

以上就是关于如何在servlet里提取别人直接传过来的url里带中文和#的地址全部的内容,包括:如何在servlet里提取别人直接传过来的url里带中文和#的地址、servlet中request.getrequestDispatcher()的路径问题、在java中得到上级页面的上级url等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/9339347.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存