当前位置:首页 > 前端设计 > 正文

pathinfo?curl和pathinfo都开启

pathinfo?curl和pathinfo都开启

这篇文章给大家聊聊关于pathinfo,以及curl和pathinfo都开启对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。如何理解一个index.php页面的格...

这篇文章给大家聊聊关于pathinfo,以及curl和pathinfo都开启对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。

如何理解一个index.php页面的格式

我们常用的是query形式的参数。例如?a=1&b=2还有一种是pathinfo形式的。例如/a/b/c这两种是可以混用的。例如index.php/a/b/c?a=1&b=2index.php是访问的网页文件。/index.html是参数,这个参数只是长得像文件名,但是它实际上是一种pathinfo

springmvc中@PathVariable和@RequestParam的区别

1、@PathVariable

当使用@RequestMappingURItemplate样式映射时,即someUrl/{paramId},这时的paramId可通过@Pathvariable注解绑定它传过来的值到方法的参数上。

示例代码:

@Controller

@RequestMapping("/owners/{ownerId}")

publicclassRelativePathUriTemplateController{

@RequestMapping("/pets/{petId}")

publicvoidfindPet(@PathVariableStringownerId,@PathVariableStringpetId,Modelmodel){

//implementationomitted

}

}

上面代码把URItemplate中变量ownerId的值和petId的值,绑定到方法的参数上。若方法参数名称和需要绑定的uritemplate中变量名称不一致,需要在@PathVariable("name")指定uritemplate中的名称。

2、@RequestHeader、@CookieValue

@RequestHeader注解,可以把Request请求header部分的值绑定到方法的参数上。

示例代码:

这是一个Request的header部分:

Hostlocalhost:8080

Accepttext/html,application/xhtml+xml,application/xml;q=0.9

Accept-Languagefr,en-gb;q=0.7,en;q=0.3

Accept-Encodinggzip,deflate

Accept-CharsetISO-8859-1,utf-8;q=0.7,*;q=0.7

Keep-Alive300

@RequestMapping("/displayHeaderInfo.do")

publicvoiddisplayHeaderInfo(@RequestHeader("Accept-Encoding")Stringencoding,

@RequestHeader("Keep-Alive")longkeepAlive){

}

上面的代码,把requestheader部分的Accept-Encoding的值,绑定到参数encoding上了,Keep-Aliveheader的值绑定到参数keepAlive上。

@CookieValue可以把Requestheader中关于cookie的值绑定到方法的参数上。

例如有如下Cookie值:

JSESSIONID=415A4AC178C59DACE0B2C9CA727CDD84

参数绑定的代码:

@RequestMapping("/displayHeaderInfo.do")

publicvoiddisplayHeaderInfo(@CookieValue("JSESSIONID")Stringcookie){

}

即把JSESSIONID的值绑定到参数cookie上。

3、@RequestParam,@RequestBody

@RequestParam

A)常用来处理简单类型的绑定,通过Request.getParameter()获取的String可直接转换为简单类型的情况(String-->简单类型的转换操作由ConversionService配置的转换器来完成);因为使用request.getParameter()方式获取参数,所以可以处理get方式中queryString的值,也可以处理post方式中bodydata的值;

B)用来处理Content-Type:为application/x-www-form-urlencoded编码的内容,提交方式GET、POST;

C)该注解有两个属性:value、required;value用来指定要传入值的id名称,required用来指示参数是否必须绑定;

示例代码:

@Controller

@RequestMapping("/pets")

@SessionAttributes("pet")

publicclassEditPetForm{

@RequestMapping(method=RequestMethod.GET)

publicStringsetupForm(@RequestParam("petId")intpetId,ModelMapmodel){

Petpet=this.clinic.loadPet(petId);

model.addAttribute("pet",pet);

return"petForm";

}

@RequestBody

该注解常用来处理Content-Type:不是application/x-www-form-urlencoded编码的内容,例如application/json,application/xml等;

它是通过使用HandlerAdapter配置的HttpMessageConverters来解析postdatabody,然后绑定到相应的bean上的。

因为配置有FormHttpMessageConverter,所以也可以用来处理application/x-www-form-urlencoded的内容,处理完的结果放在一个MultiValueMap<String,String>里,这种情况在某些特殊需求下使用,详情查看FormHttpMessageConverterapi;

python中os的用法

在Python中,`os`是一个非常有用的库,它可以让我们进行操作系统相关的操作,如文件和目录操作、进程管理、环境变量等。

以下是`os`库的几个常用方法:

1.获取当前工作目录:`os.getcwd()`

```python

importos

cur_dir=os.getcwd()

print(cur_dir)

```

2.改变当前工作目录:`os.chdir(path)`

```python

importos

os.chdir('/Users/xxxx/Desktop')#改变当前工作目录到桌面路径

```

3.列出指定目录下的所有文件和目录:`os.listdir(path)`

```python

importos

dir_list=os.listdir("/Users/xxxx/Desktop")

print(dir_list)

```

4.创建单级目录:`os.mkdir(path)`

```python

importos

os.mkdir('/Users/xxxx/Desktop/test')#在桌面创建test文件夹

```

5.删除单级目录:`os.rmdir(path)`

```python

importos

os.rmdir('/Users/xxxx/Desktop/test')#删除桌面的test文件夹

```

6.获取文件属性:`os.stat(path)`

```python

importos

file_info=os.stat('/Users/xxxx/Documents/test.txt')#获取test.txt文件的属性信息

print(file_info)

```

7.删除文件:`os.remove(path)`

```python

importos

os.remove('/Users/xxxx/Documents/test.txt')#删除test.txt文件

```

8.重命名文件或目录:`os.rename(old_path,new_path)`

```python

importos

os.rename('/Users/xxxx/Downloads/test.txt','/Users/xxxx/Downloads/new_name.txt')#将test.txt文件重命名为new_name.txt文件

```

好了,以上是`os`库一些常用的方法,你可以根据自己的需求进行使用。

END,本文到此结束,如果可以帮助到大家,还望关注本站哦!

最新文章