PATHINFO模式开发,如果空间不支持,可以试用兼容模式或者普通模式 5.空操作和空模块—方便定义错误处理页 如果定义了空操作那么如果一个方法不存在,即使存在模板文件也会优先定向到空操作 eg:比如一个控制器中定义了...;$message页面提示信息;$status来表示状态 1表示成功;$waitSecond跳转等待时间 $jumpUrl跳转地址 如果是ajax提交,会自动调用ajaxReturn返回 15.重定向...在控制器中用redirect实现页面重定向功能;参数可以参考U方法 17.获取系统变量 在控制器中我们可以使用$this->方法名(“变量名,[过滤方法],[‘默认值’]); 其中方法名有_get...等参数,推荐使用 18.判断请求类型 isGet()判断是否是GET方式提交 isPost()判断是否是POST方式提交 isPut()判断是否是PUT方式提交 isDelete()判断是否是delete...方式提交 isHead()判断是否是Head方式提交 isAjax判断是否是ajax提交,如果用Jquery类库则不需要添加隐藏域,否则需要添加一个隐藏域 19.Ajax返回 status 操作状态
为限制控制器只能执行HTTPS,使用RequireHttpsAttribute 2 授权 对账户的权限的控制可以通过在控制器或控制器操作上加AuthorizeAttribute 属性。...AuthorizeAttribute : FilterAttribute, IAuthorizationFilter { public AuthorizeAttribute(); // 获取或设置有权访问控制器或操作方法的用户角色...public override object TypeId { get; } // 获取或设置有权访问控制器或操作方法的用户。...使用限制: 客户端浏览器不能禁用cookie 只对post请求有效 若有XSS漏洞,则可轻易获取令牌 对Ajax请求不能传递令牌,即对Ajax无效 3)使用幂等的Get请求,仅使用Post请求修改数据(...UpdateModel或TryUpdateModel 3)使用ViewModel,明确规定View使用的数据模型 4.5开放重定向 防御方法: 使用Url.IsLocalUrl检测是否为本地url 4.6
因 此,ASP.NET 将 http://localhost:xxxxx/Movies/Edit/4转化到 Movies 控制器中 Edit操作 方法,参数 ID等于1 的请求。...注意,第二个Edit操作方法的上面有HttpPost属性。此属性指定了Edit方法的重载,此方法仅 被POST 请求所调用。...(操作方法会被隐式的指定为HttpGet属性,从而作为 HttpGet 方法。) 绑定(Bind)属性是另一个重要安全机制,可以防止黑客攻击(从over-posting数据到模型)。...HttpGet Edit方法会获取电影ID参数、 查找影片使用 Entity Framework 的Find 方法,并返回 到选定影片的编辑视图。...数据保存之后,代码会把用户重定向到 MoviesController类的Index操作方法,页面将显示电影列表,同时包括刚刚所做的更新。 一旦客户端验证确定某个字段的值是无效的,将显示出现错误消息。
响应数据和结果视图 1、返回值分类 1.1、字符串 controller 方法返回字符串可以指定逻辑视图名,通过视图解析器解析为物理视图地址。...2、转发和重定向 2.1、forward转发 controller 方法在提供了 String 类型的返回值之后,默认就是请求转发。...类型返回值之后,它需要在返回值里使用:redirect: /** * 重定向 * * @return */ import org.springframework.web.bind.annotation.RequestMapping...需要注意的是,如果是重定向到 jsp 页面,则 jsp 页面不 能写在 WEB-INF 目录中,否则无法找到。...-- 测试异步请求 --> ajax请求json和响应json" id="testJson"/> 控制器中的代码: /** * 响应 json
,post,put等等,被请求的操作都会被调用。...Users:获取或设置有权访问控制器或操作方法的用户。...视图通过两种方式可以拿到数据: 1)通过控制器操作返回的结果(控制器返回结果是数据和视图的结合。 2)将结果赋给控制器属性并在View中使用这些属性。...使用异步控制器的情形: 可能引发瓶颈的长操作,网络或I\O密集型操作,可取消长操作的情形。...基类控制器 定义一个基类控制器,以便处理异常或无法找到请求对应的操作。
视图:一个或多个JSP页面,向控制器提交数据和为模型提供数据显示,JSP页面主要使用HTML标记和JavaBean标记来显示数据。...我们要做的是使用@Controller创建控制器对象,把对象放入到SpringMVC容器中,把创建的对象作为控制器使用。...在处理ajax的时候,可以使用void返回值,通过HttpServletResponse输出数据,响应ajax请求。...因为重定向相当于用户再次发出一次请求,而用户是不能直接访问WEB-INF中资源的 SpringMVC框架把原来Servlet中的请求转发和重定向操作进行了封装。...特点:不和视图解析器一同使用,就当项目中没有视图解析器 * 框架对重定向的操作: * 1、框架会把Model中的简单类型的数据,转为String使用,作为hello.jsp的get请求参数使用
返回值分类 字符串 controller 方法返回字符串可以指定逻辑视图名,通过视图解析器解析为物理视图地址 例: jsp testString... 控制层 /** * 使用关键字方式进行转发和重定向 手动转发不能用视图解析器 所以要写全路径 * @return */ @RequestMapping...使用请求 转发,既可以转发到 jsp,也可以转发到其他的控制器方法。...dataType:"json", //type请求方式 默认是get type:"post",...的请求,传的是json字符串,后端把json字符串封装到user对象中 System.out.println(user); //作出响应,模拟查询了数据库
第1章 响应数据和结果视图 1.1 返回值分类 1.1.1 字符串 controller 方法返回字符串可以指定逻辑视图名,通过视图解析器解析为物理视图地址。...使用请求转发,既可以转发到 jsp,也可以转发到其他的控制器方法。...1.2.2 Redirect 重定向 contrller 方法提供了一个 String 类型返回值之后,它需要在返回值里使用:redirect: /** * 重定向 * @return */ @RequestMapping...需要注意的是,如果是重定向到 jsp 页面,则 jsp 页面不能写在 WEB-INF 目录中,否则无法找到。...-- 测试异步请求 --> ajax 请求 json 和响应 json" id="testJson" /> 控制器中的代码 /** * 响应
生成路由规则 对应操作方法(默认) index GET news index create GET news/create create save POST news save read GET news...TP框架提供了对“请求伪装”的支持,可以使用post请求携带_method参数,伪装成其他请求。 ?...比如 使用ajax的post请求伪装put请求 public/api.html中 添加以下代码 post_to_put" value="伪装put">...标识 请求类型 生成路由规则 对应操作方法(默认) 备注 index GET news index 查询多条数据(列表) read GET news/:id read 查询一条数据(详情、修改页面展示)...Restful典型使用场景:开放API(各种开放平台的数据api)。开放API之所以开放,就是因为不知道也不关心客户端需要什么返回结果,直接返回完整的数据,好处是通用。
因此,ASP.NET 将http://localhost:xxxxx/Movies/Edit/4转化到Movies 控制器中Edit操作方法,参数ID等于 4 的请求。...ID=3还会将参数ID为 3的请求传递给Movies控制器的Edit操作方法。 ? 打开Movies控制器。如下所示的两个Edit操作方法。...数据保存之后,代码会把用户重定向到MoviesController类的Index操作方法,页面将显示电影列表,同时包括刚刚所做的更新。 一旦客户端验证确定某个字段的值是无效的,将显示出现错误消息。...解决方法是使用重载的BeginForm,它指定 POST 请求应添加到 URL 的搜索信息,并应该路由到 HttpGet版的 Index方法。...现在当您提交搜索,该 URL 将包含搜索的查询字符串(query string)。搜索还会请求到 HttpGet Index操作方法,即使您也有一个HttpPost Index方法。 ?
服务器的响应方式 在传统模式下,服务器端向客户端的主要响应方式是:转发,或重定向。使用这种模式时,通常,服务器端会向客户端响应某个页面,而这种模式是不利于当前的互联网架构的!...:分隔; 属性的名称都是字符串类型的,需要使用一对引号""框住; 如果属性的值是数值或布尔值,则直接写出字面值即可,无需添加任何符号,如果是字符串类型的,也使用一对引号""框住; 属性的值还可以是数组类型的...,也就是JSON数组,是使用一对中括号[]框住,且各元素之间使用逗号,分隔; 属性的值还可以是另一个JSON对象。...,使用以上创建的User作为返回值类型,并返回匹配的对象: // http://localhost:8080/ajax/user/info @RequestMapping("info") @ResponseBody...在控制器中,在处理请求的方法的声明之前,添加@ResponseBody注解后,表示“响应正文”,处理请求的方法返回的对象就会响应给客户端,并不会被视为“视图名”或执行转发、重定向等操作。
' => 'Index', // 默认操作名 'default_action' => 'index', // 操作方法后缀 'action_suffix...路由到控制器和操作 上面的例子就是 路由到类的方法 这种方式可以执行任何方法 Route::get('blog/:id','\app\index\service\Blog@read'); Route:...'blog/:id', 'http://blog.thinkphp.cn/read/:id', 302); 使用302重定向一个新的地址 路由到模板 使用路由到模板直接渲染 'Index', // 默认操作名 'default_action' => 'index', // 操作方法后缀 'action_suffix...,命名空间,和类 // 绑定当前的URL到 Blog控制器 Route::bind('blog'); // 绑定当前的URL到 Blog控制器的read操作 Route::bind('blog/read
) 处理器或页面控制器(Controller) 验证器( Validator) 命令对象(Command 请求参数绑定到的对象就叫命令对象) 表单对象(Form Object 提供给表单展示和提交到的对象就叫表单对象...具体说,就是 HTTP 协议里面,四个表示操作方式的动词:GET 、POST 、PUT、DELETE。...2.响String类型 方式类似于servlet的方式,直接调用servlet相应的请求和响应对象 请求转发 重定向 直接写出数据writer 也可以不经过视图解析器,直接完成请求转发和重定向。...也就是说前端网页发送ajax请求获取后台数据。后台java只需要写接口,响应ajax请求返回json数据。...当做某一步操作时,回想一下,使用servlet是怎么搞的?现在使用spring/springmvc是怎么做的 自己总结对比一波。
五.请求类型 ThinkPHP 提供了一组常量来判断当前请求是否是 GET、POST 等。通过判断请求处理不同的业务逻辑。...常量 含义 IS_GET 判断是否 GET 提交请求 IS_POST 判断是否 POST 提交请求 IS_PUT 判断是否 PUT 提交请求 IS_DELTE 判断是否 DELETE 提交请求 IS_AJAX...判断是否 AJAX 提交请求 //判断是否GET请求 if (IS_GET) { echo '是GET请求'; } else { echo '不是GET请求'; } 六.空操作 空操作是指系统在找不到请求的操作方法时...,会定位到空操作(_empty)方法来执行,利用这个机制,我们可以实现错误页面和一些 URL 的优化。...; } } 八.操作绑定到类 ThinkPHP 提供了把每个操作方法定位到一个类的功能,即每个把层次分的更加细腻。
整个过程是: 1.在php中编写页面中的表单、提交按钮等; 2.在js中对php中的按钮事件添加校验和触发函数,在js函数内,如果js对象的格式和内容正确就向控制器url(php中初始化)发起ajax请求...; 3.控制器中的相应操作响应ajax请求,并判断数据后做数据库读写操作,然后对数据库操作结果做出判断,ajaxReturn返回js需要的数组; 4.当ajax成功返回时,js中ajax的success...里面使用js重写(或初始化)需要显示的信息。...ThinkPHP返回的数据格式包括: status 操作状态 info 提示信息 data 返回数据 $this->ajaxReturn(返回数据,提示信息,操作状态); 返回数据data可以支持字符串...方式返回数据到客户端* @access protected* @param mixed $data 要返回的数据* @param String $type AJAX返回数据格式* @return void
username=%22HuaZhu%22&age=18,结果如下: 可以看到被重定向到success.jsp文件。...:会将返回的字符串与视图解析器的前后缀拼接后跳转。...大多数使用的场景,是需要向前端返回json格式的字符串,这里就需要用到json转化的工具。...最后返回。 返回对象或集合 手动配置处理器映射器 也可以直接返回对象或集合,但是前端并不能对后端传回的对象或集合进行直接操作。最方便的还是转化为JSON格式。...Restful风格的请求是使用“url+请求方式”表示一次请求目的的,HTTP协议里面四个表示操作方式的动词如下: GET:用于获取资源 POST:用于新建资源 PUT:用于更新资源 DELETE:用于删除资源
如果需要实现RESTFUL风格,必须使用该拦截路径。 “ /* ”:拦截所有请求,错误的设置方法,它会把控制器返回的视图jsp页面也拦截,程序会循环执行。...用于ajax请求,返回json数据。...,并且转换成json格式 public Object hello1(){ return "aaa"; } } 六、请求转发与重定向 请求转发/重定向到一个jsp页面 1、默认情况,采取请求转发...return modelAndView; } } 重定向到另一个方法(不同controller) //如果从一个controller跳转到另一个则需要加斜杠,并且能够携带参数 @RequestMapping...3、在使用 redirect 或者 forward 的情况,不会使用视图解析器,而是将 String 类型方法中返回的字符串当做SpringMVC 处理器的请求路径,交给其他 SpringMVC 处理器处理该请求
,请求处理中另一个最常见的操作就是要把 Controller 中的数据 Model 推送到 View 中显示。...; … } (3) 使用 Servlet API MVC 框架优化了参数的获取或模型的推送,这些操作都不需要 request、response 对象,也就是所谓的 Servlet API。...例如,我们希望同一个请求地址“/login”,在 get 请求下返回一个登录表单供用户填写,在 post 请求下处理登录验证,则我们可以写成。...通常我们可以使用“edit?id=2”这样的超链接,即 get 请求参数,这种在 URL 的“?”后传递参数的方式常常被称为“查询字符串”。...“redirect:/admin/movie-list”,如果希望重定向后能还能查询到所需的数据,不妨在重定向后加上一些查询参数,比如下面的写法。
返回值分类 1. 返回字符串 Controller方法返回字符串可以指定逻辑视图的名称,根据视图解析器为物理视图的地址。...返回值是void 如果控制器的方法返回值编写成void,执行程序报404的异常,默认查找JSP页面没有找到。 1....可以使用请求转发或者重定向跳转到指定的页面 /** * 返回是void * 测试向前台传数据 * * @param model * @return...SpringMVC框架提供的转发和重定向 1. forward请求转发 2. redirect重定向 controller方法返回String类型,想进行请求转发也可以编写成 /** * 使用关键字的方式转发或者重定向...设置静态资源不被拦截 DispatcherServlet会拦截到所有的资源,导致一个问题就是静态资源(img、css、js)也会被拦截到,从而不能被使用。
html() 设置或返回匹配的元素集合中的 HTML 内容。 insertAfter() 把匹配的元素插入到另一个指定的元素集合的后面。...jQuery 属性操作方法 方法 描述 addClass() 向匹配的元素添加指定的类名。 attr() 设置或返回匹配元素的属性和值。...jQuery Ajax 操作函数 函数 描述 jQuery.ajax() 执行异步 HTTP (Ajax) 请求。...jQuery.param() 创建数组或对象的序列化表示,适合在 URL 查询字符串或 Ajax 请求中使用。...jQuery.post() 使用 HTTP POST 请求从服务器加载数据。 .serialize() 将表单内容序列化为字符串。
领取专属 10元无门槛券
手把手带您无忧上云