发布网站笔记2——前后端联系

@[TDC]

1、内网与外网(LAN、WAN)

内网与外网 百度知道
在内网发布网站的实例
外网IP紧张,按照IPV4格式,IP地址最多有4,228,250,625个组合结果,算算我们全世界多少人,而且每个人可能不止一台联网设备。想想看如果大家都申请一个IP地址,直接把设备直连到互联网中,那么我们的IP地址将很快用尽。因此,诞生了内网这一替代方式。
分配给内网的IP地址有:
10.0.0.0~10.255.255.255
172.16.0.0~172.31.255.255
192.168.0.0~192.168.255.255

我们平时上网,基本都是设备先连接到路由器、交换机上,然后路由器、交换机再通过一个外网IP连接到互联网中。想想看,如果这时你在本机上发布网站,因为你用的是内网IP,那么没有连接在同一台路由器(同一内网)中的其他联网设备,当然不能访问你的网站了。
因此,若想被其他设备访问你辛辛苦苦做的网站或Web应用,我们需要发布这些项目到外网上。方法有很多种,比如发布到虚拟主机上;或者设置本地路由器,在路由器上做网站端口映射。这里笔者只介绍虚拟主机方式:通过FTP服务把网站发布到三丰云虚拟主机上,之后就可以通过三丰云提供的域名进行外网访问了。

2、前、后端打通实例

这里笔者提供一个简单实例,请各位多指教。
环境配置与工具:Windows10、IIS10.0 Express、SQLServer2019Express、Visual Studio2019
我打算在网页显示一个按钮、一个文本框。文本框输入的是SQL语句,并使用ashx访问服务器中的数据库。
网页部分我就不赘述了,在按钮的点击事件中使用jQuery框架的ajax方法,把文本框的值传入到Handler2.ashx:
网页部分,文本框内为默认内容

$(function () {  
            $(".btn2").on("click", function () {
                 var value = $("textarea").val();
                $.ajax({
                    url: "Handler2.ashx",
                    type: "get",
                    data: {
                        "value":value
                    },
                    success: function (data) {
                        $("p").text(data);
                    },
                    error: function (xhr) {
                        $("p").text(xhr.text);//p标签文本显示读取数据库内容
                    }
                })
            })
        });

设置好前端后,我们实现一下Handler2.ashx。这里主要实现的是获取前端的传值、读取数据库。噢对了,我使用ADO.NET技术读取SQLServer数据库。不了解的老哥们可以查阅我要自学网之ADO.NET

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data.SqlClient;

namespace learnHtmlOne
{
    /// <summary>
    /// Handler2 的摘要说明
    /// </summary>
    public class Handler2 : IHttpHandler
    {

        public void ProcessRequest(HttpContext context)
        {
            context.Response.ContentType = "text/plain";
            string str =  context.Request["value"].ToString();
            string data="";
            SqlConnection sql = new SqlConnection("server=.;user=sa;pwd=123;database=mydb001");
            sql.Open();
            using (sql)
            {
                SqlCommand sqlCommand = new SqlCommand(str, sql);
                SqlDataReader dataReader = sqlCommand.ExecuteReader();
                while(dataReader.Read())
                {
                    for(int i = 0; i < dataReader.FieldCount; i++)
                    {
                        data += dataReader[i].ToString();
                        data += ",";
                    }
                }
            }           
            context.Response.Write(data);
        }

        public bool IsReusable
        {
            get
            {
                return false;
            }
        }
    }
}

最后,效果如下:
项目效果
项目工程下载——0积分

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值