博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Nodejs 之express框架的应用---简单的登录界面
阅读量:4322 次
发布时间:2019-06-06

本文共 3424 字,大约阅读时间需要 11 分钟。

/** * Created by Administrator on 2016/12/29. */    "use strict";const  myexpress=require("express");//启用express框架const app1=myexpress();app1.configure(function(){//配置服务器信息    app1.use(myexpress.logger("dev"));//配置日志信息,要放在配置的最前面    app1.use(myexpress.errorHandler());//配置错误日志模块,express会打印错误至控制台    app1.use(myexpress.favicon(__dirname+"/public/group1/img/logo-2.png"));//配置网站logo前面的标签    app1.use(app1.router);//加了这句话后,把路由监听的方法拦截静态资源的优先级就提高在静态资源之前    app1.use(myexpress.static(__dirname+"/public/group1"));//配置加载静态资源html css js 字体等,__dirname是项目的根目录    app1.use(myexpress.bodyParser());//使用业务post处理的时候需配置的    app1.use(myexpress.methodOverride());//使用业务post处理的时候需配置-将非get请求都转换为post请求});app1.set("port","6060");//设置端口app1.listen(app1.get("port"),function(){//监听端口    console.log("服务器启动了!")});//服务器对业务的处理app1.get("/login.do",function(request,response){//拦截get请求中的login.do,form表单提交上来的数据express就自动封装在request这个对象里面    //console.log(request.query);//这里会打印出来请求的内容    let username=request.query.username;//获取username下的值,定义let局部变量,需要使用"use strict"    let pwd=request.query.password;//获取password下的值    //console.log(username+"get方法");    //console.log(pwd+"get方法");    if(username=="123"&&pwd=="123"){        response.send("

登录成功

"); //这里express的send等同于response.writeHead,response.write(),response.end();send只能返回字符串 }else{ response.send("

登录失败

") }//使用get方法在浏览器的网址末端容易看见账号和密码,所有一般建议使用post方法});app1.post("/login2.do",function(request,response){ console.log(request); let username1=request.body.username1; let pwd1=request.body.pwd1; console.log(username1); console.log(pwd1); if(username1=="234"&&pwd1=="234"){ response.redirect("loginIndex.html");//redirect(重定向)可以跳转至一个指定的页面 }else{ response.redirect("error.html");//也可以重定向跳转到"http://www.baidu.com" }});app1.get("/index.html.do",function(request,response,next){ //当拦截的资源路径和action的静态路径同级的时候,action的优先级会高于拦截请求,所有它不会跳转到拦截的页面, //它不会进到这个函数,需要在服务器配置上加一点东西,这句话一定要写在配置静态资源之前 let username2=request.body.username2; let pwd2=request.body.pwd2; if(username1=="234"&&pwd1=="234"){ next();// }else{ response.redirect("error.html"); }});

  下面这段配置中出现的一个小问题,****注意配置的顺序。若配置顺序出错,会造成request.body中取不到值,返回undefined.

正确的配置顺序应该是下面这样的:

const  myexpress=require("express");//启用express框架 const app1=myexpress(); app1.configure(function(){//配置服务器信息     app1.use(myexpress.logger("dev"));//配置日志信息,要放在配置的最前面     app1.use(myexpress.errorHandler());//配置错误日志模块,express会打印错误至控制台     app1.use(myexpress.bodyParser());//使用业务post处理的时候需配置的     app1.use(myexpress.methodOverride());//使用业务post处理的时候需配置-将非get请求都转换为post请求     //***post处理配置是需要放在静态资源配置之前,error日志之后。且log日志配置放第一位,下来是error日志配置     app1.use(app1.router);//加了这句话后,把路由监听的方法拦截静态资源的优先级就提高在静态资源之前     //***这句话是处理get拦截的是一个静态资源     app1.use(myexpress.static(__dirname+"/public/group1"));//配置加载静态资源html css js 字体等,__dirname是项目的根目录     app1.use(myexpress.favicon(__dirname+"/public/group1/img/logo-2.png"));//配置网站logo前面的标签 });

 

 

补充之:express安装

1.给项目文件中生成package.json文件:

从shell命令行里进入项目的根目录,输入....dec29>npm init 回车后,文件夹里会生成json的文件

2.从shell命令行里进入项目的根目录,输入....dec29>npm install express@3 --save-dev 回车,等待一定时间后,就会在项目文件里生成一个

3.第2个方法是从国外的资源库中下载express,也可以将其映射到国内的资源中,使用如下方法:

   从shell命令行里进入项目的根目录,输入....dec29>npm install nrm -g回车安装nrm;然后nrm;...ls ...mrn ls

4.安装mysql文件 

  从shell命令行里进入项目的根目录,输入....dec29>npm install mysql --save-dev回车,等待一段时间即可。

 

转载于:https://www.cnblogs.com/potato-lee/p/6234503.html

你可能感兴趣的文章
深度优先搜索 之 CODE[VS] 1116 四色问题
查看>>
浏览器渲染过程
查看>>
js遍历Object所有属性
查看>>
再也不学AJAX了!(三)跨域获取资源 ③ - WebSocket & postMessage
查看>>
pycharm设置python文件颜色
查看>>
不换行输出的两种方式
查看>>
贵在坚持不懈
查看>>
hdu 1251 统计难题
查看>>
java中关于String 类型数据 的存储方式
查看>>
javascript中的with语句
查看>>
常用设计模式:装饰者模式
查看>>
python接口自动化--get请求
查看>>
Excel-公式-1
查看>>
字符串与C51的格式化输出
查看>>
Hibernate
查看>>
逆天的化妆CSS
查看>>
pytho xlrd简介
查看>>
Android EditText方框验证码 短信验证码的实现
查看>>
Android地图开发获取sHA1值方法
查看>>
Photon——Exception Handling 异常处理
查看>>