Nodejs+Extjs+Mongodb开发第三天 登录页面(1)

简介: <p><span style="white-space:pre"></span>学习新技术最快捷的方式就是做项目。在第一天的环境搭建好后,我就准备基于Nodejs+Extjs+Mongodb来做一个Web系统。</p> <p><br></p> <p><span style="white-space:pre"></span>环境搭建:http://blog.csdn.net/jrainb

学习新技术最快捷的方式就是做项目。在第一天的环境搭建好后,我就准备基于Nodejs+Extjs+Mongodb来做一个Web系统。


环境搭建:http://blog.csdn.net/jrainbow/article/details/38845639

一、技术选择的原因

1、Nodejs。这个不用说了,就是为了学习这个来的。因为要做的是Web系统,所以选择了Express框架。


2、Extjs。原因也很简单,因为笔者的美工不行,而且之前有使用过Extjs框架。为了更满足自己的银弹心理,这个项目选择了基于Extjs4.x版本的desktop框架。


3、Mongodb。搭建及使用起来都比较简单。相对于笔者之前用过的HBase,Mongodb依赖性低太多。Mongodb直接下载回来解压就能用。

Mongodb的简单使用:http://blog.csdn.net/jrainbow/article/details/39163843


二、登录页面及功能实现

1、根据第一天的内容创建一个pcrm的系统。


目录如下:












bin ,存放默认启动的脚本
doc,  存入项目的文档
modules,  用来存放数据模型。类似JavaEE开发中的Entity与Dao的结合体。当然,你也可以拆开成modules与daos两个目录
node_modules, 存放所有的项目依赖库。类似Java中的jar包目录。   
public, 静态文件(css,js,img)。我也把页面的JavaScript文件放在这个目录下。
routes, 路由文件(MVC中的C,controller) 。相当于JavaEE开发中的Controller及Service的结合。当然这里也可以拆开。
views, 页面文件(Ejs模板) 。相当于html或jsp页面。
package.json, 项目依赖配置及开发者信息。相当于Maven的坐标配置文件。
app.js, 程序启动文件  

2、登录页面

在views目录中创建一个Ejs页面文件login.ejs。

<!DOCTYPE html>
<!--[if lt IE 7 ]> <html lang="en" class="ie6 ielt8"> <![endif]-->
<!--[if IE 7 ]>    <html lang="en" class="ie7 ielt8"> <![endif]-->
<!--[if IE 8 ]>    <html lang="en" class="ie8"> <![endif]-->
<!--[if (gte IE 9)|!(IE)]><!--> <html lang="en"> <!--<![endif]-->
<head>
    <meta charset="utf-8">
    <title>简单客户关系管理系统</title>
    <link rel="stylesheet" type="text/css" href="/stylesheets/login.css" />
</head>
<body>
<div class="container">
    <section id="content">
        <form action="/check" method="get">
            <h1>登录</h1>
            <div>
                <input type="text" placeholder="用户名" required="" id="username" name="username" />
            </div>
            <div>
                <input type="password" placeholder="密码" required="" id="password" name="password"/>
            </div>
            <div>
                <input type="submit" value="登录" />
                <a href="#">忘记密码?</a>
                <a href="#">联系我们</a>
            </div>
        </form><!-- form -->
        <div class="button">
            <a href="#">试用版本下载</a>
        </div><!-- button -->
    </section><!-- content -->
</div><!-- container -->
</body>
</html>

把登录页面的css文件login.css放到public/stylesheets目录下







3、在后台接收页面传递的信息

在routes目录下创建一个路由文件login.js。


var express = require('express');
var router = express.Router();

/* GET home page. */
router.get('/', function(req, res) {
    res.render('login');
});

router.get('/check', function(req, res) {
    console.log(req.query.username);
    console.log(req.query.password);
});

module.exports = router;

简单解释一下这个controller:

为了比较方便的使用http来处理数据。我们在项目中使用express框架。

与Java的开发一样,要使用一个类,那我们需要先import这个类进来。nodejs使用的是require,把express模块加载进来。

然后我们通过router对象来获取页面的请求。router接收页面的方式有多种,我们这里使用的是get。这里使用get方法而不是其它是基于RESTful 规范的要求决定的。具体会在后面的使用中讲到。

第一个get方法是将不默认请求转发到login页面。第二个get方法是接收登录页面action中的"/check"请求。并输出用户名和密码。

module.exports = router;把我们这个controller作为一个模块发布出去给其它的模块使用。


4、将router发布出去

在app.js文件中,在文件头先导入login的路由模块

var login = require('./routes/login');


设置login路由的访问路径

app.use('/', login);
app.use('/main', main);

如果是在使用express生成项目的时候,会默认地生成一个main路由,而这个路径的路径是主路径。这里我修改为主路径的路由为login,而main路径呢走的是/main路径。


5、启动服务

启动服务器,访问地址:http://127.0.0.1:3000/



















输入用户名和密码:admin + test


后台终端显示:








我们的页面数据与后台的http通道已打通。明天我们进行编写登录校验的逻辑。


目录
相关文章
|
Web App开发 JavaScript 前端开发
Node.js 是一种基于 Chrome V8 引擎的后端开发技术,以其高效、灵活著称。本文将介绍 Node.js 的基础概念
Node.js 是一种基于 Chrome V8 引擎的后端开发技术,以其高效、灵活著称。本文将介绍 Node.js 的基础概念,包括事件驱动、单线程模型和模块系统;探讨其安装配置、核心模块使用、实战应用如搭建 Web 服务器、文件操作及实时通信;分析项目结构与开发流程,讨论其优势与挑战,并通过案例展示 Node.js 在实际项目中的应用,旨在帮助开发者更好地掌握这一强大工具。
645 1
|
JavaScript 前端开发 数据可视化
【01】Cocos游戏开发引擎从0开发一款游戏-cocos环境搭建以及配置-Cocos Creator软件系统下载安装-node环境-优雅草卓伊凡
【01】Cocos游戏开发引擎从0开发一款游戏-cocos环境搭建以及配置-Cocos Creator软件系统下载安装-node环境-优雅草卓伊凡
1101 2
【01】Cocos游戏开发引擎从0开发一款游戏-cocos环境搭建以及配置-Cocos Creator软件系统下载安装-node环境-优雅草卓伊凡
|
人工智能 监控 JavaScript
HarmonyOS5云服务技术分享--ArkTS开发Node环境
本文详细讲解了在HarmonyOS(ArkTS API 9及以上)中使用云函数的开发技巧,结合Node.js和HTTP触发器,从零开始手把手教学。内容涵盖核心能力、开发流程(配置到部署)、高阶优化及常见问题解决,并提供实际应用场景示例。助你快速掌握Serverless开发,提升效率,探索跨端协作与AI集成等未来方向。
|
运维 监控 NoSQL
客户说|莉莉丝《剑与远征:启程》引入阿里云MongoDB,助力游戏高效开发
客户说|莉莉丝《剑与远征:启程》引入阿里云MongoDB,助力游戏高效开发
788 1
|
JavaScript 前端开发 jenkins
抛弃node和vscode,如何用记事本开发出一个完整的vue前端项目
本文探讨了在不依赖Node和VSCode的情况下,仅使用记事本和浏览器开发一个完整的Vue3前端项目的方法。通过CDN引入Vue、Vue Router、Element-UI等库,直接编写HTML文件实现页面功能,展示了前端开发的本质是生成HTML。虽然日常开发离不开现代工具,但掌握这种基础方法有助于快速实现想法或应对特殊环境限制。文章还介绍了如何用Node简单部署HTML文件到服务器,提供了一种高效、轻量的开发思路。
499 10
|
存储 NoSQL JavaScript
Node.js导入MongoDB具体操作指南
通过本文,您已经学会了如何在Node.js中导入MongoDB并执行基本的CRUD操作。Node.js与MongoDB的结合使得构建高效、可扩展的后端服务变得更加容易。通过遵循本文的步骤,您可以快速设置并运行一个强大的数据存储和处理系统。希望这篇指南能为您的开发工作提供实用的帮助。
437 13
|
存储 NoSQL Cloud Native
MongoDB云原生化:为企业开发注入高效动力
MongoDB云原生化为企业开发注入高效动力,分为三部分:1. 介绍阿里云和MongoDB的服务;2. 阿里云MongoDB解决自建模型痛点的功能,包括隔离性、海量数据处理、弹性能力及运维操作优化;3. 客户案例展示。通过云原生架构,MongoDB实现了灵活的扩展、高效的备份恢复和快速的回档能力,显著提升了企业的业务迭代速度和数据管理效率。典型客户如吉比特、莉莉丝、掌阅等受益于这些功能,实现了更稳定和高效的数据库服务。
|
Web App开发 JavaScript 前端开发
Node.js开发
Node.js开发
372 13
|
存储 JavaScript 前端开发
深入浅出Node.js后端开发
在数字化时代的浪潮中,后端开发作为连接用户与数据的桥梁,扮演着至关重要的角色。本文将以Node.js为例,深入探讨其背后的哲学思想、核心特性以及在实际项目中的应用,旨在为读者揭示Node.js如何优雅地处理高并发请求,并通过实践案例加深理解。无论你是初学者还是有一定经验的开发者,这篇文章都将为你提供新的视角和思考。
|
Web App开发 开发框架 JavaScript
深入浅出Node.js后端开发
在这篇文章中,我们将一起探索Node.js的奇妙世界。无论你是刚接触后端开发的新手,还是希望深化理解的老手,这篇文章都适合你。我们将从基础概念开始,逐步深入到实际应用,最后通过一个代码示例来巩固所学知识。让我们一起开启这段旅程吧!

推荐镜像

更多