httpservletrequest对象详解

找ctx代表什么。假如:pageContext.setAttribute("ctx", application.getContextPath());从上面的解说可以知道System.out.println(request.getContextPath())得出的是/news。故完整路径为:/news/admin/category/create.do。至于参数则根据实际研究。

可看到上路径为.do结尾。Spring MVC与Struts从原理上很相似(都是基于MVC架构),都有一个控制页面请求的Servlet,处理完后跳转页面。spring会自动扫描找到该路径对应的controller,如下图所示:

 

当前对应的路径为CategoryController类下的showCreate方法

 

 

String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";

 

输出:

path:/E_WuLiu
basePath:http://localhost:8080/E_WuLiu/

getContextPath():得到当前应用的根目录

getScheme():它返回当前请求所使用的协议。 一般的应用返回 "http",对于ssl则返回"https"

getServerName():获取服务器名字,如果是在本地的话就是localhost

getServerPort():获得服务器的端口号

 

 

另外:jsp中获取客户端的浏览器和操作系统信息

string agent = request.getheader("user-agent");
stringtokenizer st = new stringtokenizer(agent,";");
st.nexttoken();
//得到用户的浏览器名
string userbrowser = st.nexttoken();
//得到用户的操作系统名
string useros = st.nexttoken();

 

取得本机的信息也可以这样:

 

操作系统信息
system.getproperty("os.name"); //win2003竟然是win xp?
system.getproperty("os.version");
system.getproperty("os.arch");


浏览器:
request.getheader("user-agent")

 

其他

request.getheader(“user-agent”)返回客户端浏览器的版本号、类型

request.getContextPath是返回的项目上下文的名字(其实也就是项目名)

request. getHeader(string name):获得http协议定义的传送文件头信息,

request. getMethod():获得客户端向服务器端传送数据的方法有get、post、put等类型

request. getRequestURL():获取整个URL的路径请求(意思就是返回的浏览器地址栏的整个地址),为一个StringBuffer

request. getRequestUrI():获得发出请求字符串的客户端地址

request. getRealPath():是返回的文件所在的绝对路劲。相对于当前计算机的真实路径

request. getServletPath():获得客户端所请求的脚本文件的文件路径

request. getServerName():获得服务器的名字

request.getServerPort():获得服务器的端口号

request.getRemoteAddr():获得客户端的ip地址

request.getRemoteHost():获得客户端电脑的名字,若失败,则返回客户端电脑的ip地址

request.getProtocol():

request.getHeaderNames():返回所有request header的名字,结果集是一个enumeration(枚举)类的实例

request.getHeaders(string name):返回指定名字的request header的所有值,结果集是一个enumeration(枚举)类的实例

猜你喜欢

转载自blog.csdn.net/s573626822/article/details/80480536
今日推荐