node使用组件开服务器

最原始的helloWorld例子

//导入node自带组件,作用开启网络服务器
var Http=require("http");

//开启服务
Http.createServer(
	//相当于java里面的serlvet。参数是request和response
	function(request,response){
		//设置处理中文乱码
		//参数解释:200是网页状态码 Content-type是设置防止中文乱码
		response.writeHead(200,{"Content-type":"text/html;charset=UTF-8"});
		//输出,相当于servlet里面response.getWriter.print()
		response.write("测试中文是否乱码");
		//必须要end(),否则浏览器就会一直加载
		response.end("你好世界");
		//也可以这样写end("这里也能写东西")
	 }
	 //设置监听,第一个参数是端口号,第二个参数是网络地址IP,第二个参数必须是字符串
	).listen(3000,"localhost")

然后在命令字符串 node 对应文件名启动了


Demo(获取登陆和注册的input值,解析url)
三个文件:router.js(服务器文件)  login.html(登陆页面)  register.html(注册页面)
开启服务器是直接 node router
url组件常用方法
parse() ←解析url,此方法能获取请求的完整url,获取需要的参数(input的值),只用于get提交
format() ←把字符串转成url
resolve()←类似于String内的concat连接方法,只不过它是连接url的
router.js

//导入node自带组件,作用开启网络服务器
var Http=require("http");
//导入自带的解析url组件
var url=require("url");

//开启服务
Http.createServer(
	//相当于java里面的serlvet。参数是request和response
	function(request,response){
		//设置处理中文乱码
		//参数解释:200是网页状态码 Content-type是设置防止中文乱码
		response.writeHead(200,{"Content-type":"text/html;charset=UTF-8"});	
		//获取请求过来的url地址
		let geturl=request.url;
		//打印的是一条完整的url地址
		console.log(geturl);
		//解析url,第一个参数是url地址,第二个是布尔值:是否以json格式显示
		let analysis=url.parse(geturl,true);
		//打印查看解析后的内容,其中可以通过query来获取input标签的值
		console.log(analysis);
		//判断是注册页面还是登陆页面
		if ("/login"==analysis.pathname) {
			//获取用户名和密码(通过input内的name值)
			let username=analysis.query.username;
			let password=analysis.query.pass;
			response.write("登陆成功"+username+" "+password);
		}
		if ("/register"==analysis.pathname) {
			//获取用户名和密码(通过input内的name值)
			let username=analysis.query.username;
			let password=analysis.query.pass;
			response.write("注册成功"+username+" "+password);
		}
		//必须要end()
		response.end();
	 }
	 //设置监听,第一个参数是端口号,第二个参数是网络地址IP,第二个参数必须是字符串
	).listen(3000,"localhost")
      //只要url是localhost:3000都会自动连接到这个servlet里

login.html

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
</head>
<body>
	<h1>欢迎登陆</h1>
	<form action="http://localhost:3000/login">
		<!-- name属性必须要,后面就是通过name对应的值来获取内容 -->
		用户名:<input type="text" name="username"><br/>
		密码:<input type="password" name="pass"><br/>
		<input type="submit" value="提交" />
	</form>
</body>
</html>

register.html

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
</head>
<body>
	<h1>注册</h1>
	<form action="http://localhost:3000/register">
		用户名:<input type="text" name="username"><br/>
		密码:<input type="password" name="pass"><br/>
		<input type="submit" value="注册" /><br/>
	</form>
</body>
</html>

猜你喜欢

转载自blog.csdn.net/chijiajing/article/details/83147905