HOBBY

JavaWeb基础学习(三)--Request & Response

丶灬走出姿态 提交于 2020-05-02 04:02:56
请求过程: 每次请求都将会创建新的request&response对象。 HttpServletRequest 简介: Servlet API 中定义的 ServletRequest 接口用于 封装请求消息 。 HttpServletRequest 是专用于HTTP协议的ServletRequest 子接口,它用于封装 HTTP 请求消息。 在 service() 方法内部调用 HttpServletRequest 对象的各种方法来获取请求消息。 功能: 接收用户参数; 接收用户的所有请求头信息; 转发、包含; 作为域对象存放数据。 接收用户参数: getParameter(String) :根据名字获取参数,返回String类型 // 获取 <input type=”text” name=”username”> 的值 String username = request.getParameter(“username”); getParameterValues(String) :根据名字获取一组参数,返回String[ ] // 获取多个 <input type=”checkbox” name=”hobby” value=”…” > 的值 String [] hobbys = request.getParameterValues(“hobby”); 注意:如果指定的参数未传递

Django Form和ModelForm组件

南楼画角 提交于 2020-05-02 03:33:18
Form介绍 我们之前在HTML页面中利用form表单向后端提交数据时,都会写一些获取用户输入的标签并且用form标签把它们包起来。 与此同时我们在好多场景下都需要对用户的输入做校验,比如校验用户是否输入,输入的长度和格式等正不正确。如果用户输入的内容有错误就需要在页面上相应的位置显示对应的错误信息.。 Django form组件就实现了上面所述的功能。 总结一下,其实form组件的主要功能如下: 生成页面可用的HTML标签 对用户提交的数据进行校验 保留上次输入内容 普通方式手写注册功能 views.py # 注册 def register(request): error_msg = "" if request.method == " POST " : username = request.POST.get( " name " ) pwd = request.POST.get( " pwd " ) # 对注册信息做校验 if len(username) < 6 : # 用户长度小于6位 error_msg = " 用户名长度不能小于6位 " else : # 将用户名和密码存到数据库 return HttpResponse( " 注册成功 " ) return render(request, " register.html " , { " error_msg " : error

Django Form表单组件

依然范特西╮ 提交于 2020-05-02 03:29:36
Django Form表单组件 Form介绍 我们之前在HTML页面中利用form表单向后端提交数据时,都会写一些获取用户输入的标签并且用form标签把它们包起来。 与此同时我们在好多场景下都需要对用户的输入做校验,比如校验用户是否输入,输入的长度和格式等正不正确。如果用户输入的内容有错误就需要在页面上相应的位置显示对应的错误信息.。 Django form组件就实现了上面所述的功能。 总结一下,其实form组件的主要功能如下: 生成页面可用的HTML标签 对用户提交的数据进行校验 保留上次输入内容 普通方式手写注册功能 views.py # 注册 def register(request): error_msg = "" if request.method == " POST " : username = request.POST.get( " name " ) pwd = request.POST.get( " pwd " ) # 对注册信息做校验 if len(username) < 6 : # 用户长度小于6位 error_msg = " 用户名长度不能小于6位 " else : # 将用户名和密码存到数据库 return HttpResponse( " 注册成功 " ) return render(request, " register.html " , { "

django,form表单,数据库增删改查

送分小仙女□ 提交于 2020-05-02 01:27:24
Django 02 复习: Django下载: 在命令行输入: pip3 install django==1.11.11 在这里不要用最新的3.7,推荐使用3.6/3.5/3.4 判断下载成功: django-admin 创建django项目: django-admin startproject 项目名 会创建跟项目同名的文件夹 settings.py 暴露给用户可配置的配置文件 urls.py 路由与视图函数对应文件 wsgi.py 就是封装了socket与http协议的wsgiref模块 manage.py django 的入口文件 创建app应用 (app就相当于大学里的学院,不同的学院有不同的功能) 第一种方法: django-admin startapp app01 django-admin startapp 应用名 第二中方法: python3 manage.py startapp 应用名 python3 manage.py startapp app01 app名文件夹下: migrations文件夹 数据库操作记录 apps.py 注册app相关文件 admin.py django后台管理相关 models.py orm 模型类相关 views.py 视图函数(函数/ 类) tests.py 测试相关 启动django项目 python3 manage.py

SpringMVC 接收表单数据、数据绑定、解决请求参数中文乱码

淺唱寂寞╮ 提交于 2020-05-02 01:21:20
接收表单数据有3种方式。 1、使用简单类型接收表单数据(绑定简单数据类型) 表单: <form action=" ${pageContext.request.contextPath} /userController/handler" method="post"> 用户名: <input name=" username " type="text" /><br /> 密码: <input name=" password " type="password" /><br /> 年龄: <input name=" age " type="number" /><br /> <button type="submit">提交</button> </form> action会有提示,但必须要在前面加${pageContext.request.contextPath}来获取项目名(/项目名的形式),否则会把后面的路径直接拼接到域名后面。 controller: @org.springframework.stereotype.Controller @RequestMapping( "/userController" ) public class UserController{ @RequestMapping( "/handler" ) public ModelAndView handler(

Request对象

折月煮酒 提交于 2020-04-30 17:30:00
Request对象 request对象和response对象的原理 request和response对象是由服务器创建的。由我们来使用 request对象是用来获取请求消息,response对象是用来设置响应消息 reques对象继承体系结构: ServletRequest --接口 |继承 HttpServletRequest -- 接口 |继承 org.apache.catalina.connector.RequestFacade -- 类(tomcat) request功能 获取请求消息数据 获取请求行数据 GET/web1/demo1?name=zhangsan HTTP/1.1 方法: 获取请求方式:GET String getMethod() 获取虚拟目录:/web1 String getContexPath() 获取Servlet路径:/demo1 String getServletPath() 获取get方式请求参数:name=zhangsan String getQueryString() 获取URI:/web1/demo1 String getRequestURI() /web1/demo1 StringBuffer getRequestURL() http://localhost/web1/demo1 URL:统一资源定位符: http://localhost

Ajax与Controller数据交互

半城伤御伤魂 提交于 2020-04-28 21:36:25
1.概念 在ssm框架下实现Ajax与Controller之间各种类型数据的数据交互,从Ajax传值和Controller返回值两个方面理解 1.1 从Ajax → Controller 无论Ajax以什么形式发送数据,在Controller中的接收方法都没有差异 对象 操作 key/value类型 JSON 序列化表单 Ajax 发送 data:"name="+name data:{"name":name} data:$("#form").serialize() Controller 接收 public void receive(String name) / (User user) 1.2 从Controller → Ajax Controller返回Json类型的数据需要加 @ResponseBody 注解 Ajax的返回值data可以是任何名称 对象 操作 JSON pojo类型 map类型 Controller 发送 return Msg; return map; Ajax 接收 success:function(data){ alert(data.result) 2. 实例说明 JSP表单 <form id="formId"> 姓名:<input type="text" name="name" id="name"><br/> 年龄:<input type=

查询表达式

三世轮回 提交于 2020-04-27 10:33:12
mongo中的查询表达式都需要用对象表示 1. 最简单的查询表达式   {field: value},是指查询field列的值为value的文档 2. $ne -- != 查询表达式   {field : { $ne : value }} , 查field列的值不等于 value的文档   db.goods.find({cat_id : {$ne : 3}}, {goods_id : 1, car_id : 1, goods_name : 1, _id : 0} ) _id: 0 表示不查询_Id 列 3. $gt -- > 查询表达式   db.goods.find({shop_price : { $gt : 3000} }, {goods_id:1, shop_price : 1, _id : 0 })   $gt -- > , $gte -- >=, $in -- in, $lt -- < , $lte -- <=, $ne -- !=, $nin -- not in 4. $and, $nin, $nor   db.goods.find({ $and : [{ cat_id : {$ne : 3}}, {cat_id : {$ne : 11}}] }, {cat_Id : 1, goods_name : 1, _id : 0 });   db.goods.find({

MySQL回滚到某一时刻数据的方法

梦想与她 提交于 2020-04-24 17:50:09
MySQL回滚到某一时刻数据的方法 对于有归档日志的数据库来说,原理上都具备全库回滚到之前某一时刻的能力。在这方面最好用的Orale数据库,使用Oracle数据库的RMAN工具,可以方便的设置全备,增备保留的时间和自动清理,RMAN自己记录之前做过哪些备份操作,有一份备份列表,所以可以全自动的根据全备、增备、归档日志进行回滚,只需一条命令。这个可以参考我之前写的博客 Oracle Database 12c RMAN全量+增量备份+归档日志恢复详解 Oracle 12c数据库定时备份和清理脚本 mysql不同于oracle和db2这种企业级数据库,它没有oracle里面的redo日志,也没有db2里面的循环日志。mysql有类似于oracle和db2归档日志的binlog,而这个binlog可以看作是循环日志和归档日志的结合。有一定的大小限制。未完成的事务和已完成的事务都会记录在binlog中,当一个binlog写满之后,就会开启一个新的binlog。binlog还有三种方式,row,statement,mixed。其中row记录量最大,但是对于各种工具支持最好,所以对于安全要求比较高的数据库,推荐使用row格式。 同时,binlog也是mysql主从复制的依据,所以使用binlog来恢复数据库是比较可靠的。不足的就是mysql并没有内置binlog的清理工具

前端笔记之NodeJS(三)Express&ejs模板引擎&请求识别

北慕城南 提交于 2020-04-23 08:12:07
一、 Express 框架 1.1 基本使用 创建 http 服务器特别麻烦, express 框架解决了这个的问题。 Express 在 node 界的地位,就相当于 jQuery 在 DOM 界的地位。 jQuery 的核心就是“批量”, 1 个 jQuery 对象中可以封装多个原生对象。 Express 的核心就是中间件, Express 说大真心不大,主要是因为他做的事儿大,而不是这个框架的功能多。 中文官网(实际上也是英语的): http://www.expressjs.com.cn/ 基于 Node.js 平台,快速、开放、极简的 web 开发框架。 以后的项目都先创建项目身份证,记录依赖: npm init 安装依赖: npm install express --save express 框架的 API 非常简单 var express = require("express"); // 返回的是一个函数 var app = express(); // 创建app,express函数执行返回一个app对象 // 当用户get请求访问/的时候 app.get("/", (req,res)=> { // 输出可用end()或send()方法,而且不用设置字符集,因为express封装好了 res.send("<h1>首页</h1>" ); }) // 当用户get请求访问