ASP.NET 实现发送邮件 + 多个收件人 + 多个附件

18 篇文章 4 订阅
订阅专栏

   

       最近项目中需要实现发送邮件+添加附件的功能,于是又学习了一下System.Net.Mail.MailMessage和System.Net.Mail.SmtpClient等几个.Net中发邮件的几个类,根据网上的一些代码,做了一个小Demo分享一下。

       界面效果

       老规矩,还是先看效果,以下为发送邮件的界面:

       

       发件人输入发送人的邮箱、密码;

       收件人栏目可输入多个收件人,多个收件人之间需要用英文状态下的分号“ ; ”来隔开(当然这只是一种方式,还可以根据需求设计输入联系人的方式,如从通讯录选择联系人等);

       主题、内容不再多说,附件可选择多个附件,这里只画了三个input控件,也可以根据需求增删控件或动态设置控件数量。

       

       代码

       下面来看代码,根据代码整理思路:

        这是这个小Demo的解决方案结构:

        

        根目录建立了一个files文件夹,作为客户端发送邮件时在服务端的一个临时目录(这里如果不明白,请继续往下看)。

        界面代码:

        Default.aspx

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="SendEmail_Attachments.Default" %>
<!DOCTYPE html>
<html>
<head runat="server">
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
        <div>
            <table align="center" border="0" cellpadding="0" cellspacing="0" width="776">
                <tr>
                    <td>
                        <table align="center" border="0" cellpadding="4" cellspacing="1" width="600" bgcolor="#cccccc">
                            <tr>
                                <td colspan="2" bgcolor="#f0f0f0" align="center">发送邮件+多收件人+多附件</td>
                            </tr>
                            <tr>
                                <td bgcolor="#f0f0f0" align="right" style="width: 73px">发送人:</td>
                                <td bgcolor="#ffffff" align="left">
                                    <asp:TextBox ID="fromMail" runat="server" Width="300" /></td>
                            </tr>
                            <tr>
                                <td bgcolor="#f0f0f0" align="right" style="width: 73px">密  码:</td>
                                <td bgcolor="#ffffff" align="left">
                                    <asp:TextBox ID="password" runat="server" Width="300" TextMode="Password"/></td>
                            </tr>
                            <tr>
                                <td bgcolor="#f0f0f0" align="right" style="width: 73px; height: 32px">收件人:</td>
                                <td bgcolor="#ffffff" align="left" style="height: 32px">
                                    <asp:TextBox ID="toMail" runat="server" TextMode="multiLine" Width="300px" Height="22"/><asp:Label ID="Label1" runat="server" Text="多个收件人请用分号隔开" ForeColor="Red"></asp:Label></td>
                            </tr>
                            <tr>
                                <td bgcolor="#f0f0f0" align="right" style="width: 73px">主    题:</td>
                                <td bgcolor="#ffffff" align="left">
                                    <asp:TextBox ID="subject" runat="server" Width="300" /></td>
                            </tr>
                            <tr>
                                <td bgcolor="#f0f0f0" align="center" style="width: 74px">附   件:</td>
                                <td bgcolor="#ffffff" align="left">
                                    <input type="file" id="upfile1" runat="server" style="width: 297px"/>
                                    <input type="file" id="upfile2" runat="server" style="width: 297px"/>
                                    <input type="file" id="upfile3" runat="server" style="width: 297px"/>
                                </td>
                            </tr>
                            <tr>
                                <td bgcolor="#f0f0f0" align="right" style="width: 73px">内    容:</td>
                                <td bgcolor="#ffffff" align="left">
                                    <asp:TextBox ID="body" TextMode="multiLine" runat="server" Width="500px" Height="200" /></td>
                            </tr>
                            <tr>
                                <td bgcolor="#f0f0f0" align="right" style="width: 73px">格    式:</td>
                                <td bgcolor="#ffffff" align="left">
                                    <asp:RadioButtonList ID="format" runat="server" /></td>
                            </tr>
                            <tr>
                                <td bgcolor="#f0f0f0" colspan="2" align="center">
                                    <asp:Button ID="send" runat="server" Text="发送" OnClick="send_Click" />
                                    <asp:Button ID="reset" runat="server" Text="重置" />
                                </td>
                            </tr>
                        </table>
                    </td>
                </tr>
            </table>
        </div>
    </form>
</body>
</html>

        界面代码比较简单,这里不再多说。

       服务端代码:

       Default.aspx.cs

       注意引用相应的命名空间 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Net.Mail;
using System.Text;
using System.Net;
using System.IO;

namespace SendEmail_Attachments
{
    public partial class Default : System.Web.UI.Page
    {
        //ASP.NET发送邮件带附件  http://blog.csdn.net/hope94/article/details/4364471
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                format.Items.Add(new ListItem("文本", "0"));
                format.Items.Add(new ListItem("HTML", "1"));
                format.Items[0].Selected = true;
            }
        }
        /// <summary>
        /// 发送邮件的点击事件
        /// </summary>
        /// <param name="obj"></param>
        /// <param name="e"></param>
        protected void send_Click(object obj, EventArgs e)
        {
            bool flag = SendMail();
            if (flag == true)
            {
                Page.ClientScript.RegisterStartupScript(Page.GetType(), "message", "<script language='javascript' defer>alert('发送成功!');</script>");
            }
            else
            {
                Page.ClientScript.RegisterStartupScript(Page.GetType(), "message", "<script language='javascript' defer>alert('发送失败!');</script>");
            }
        }

        /// <summary>
        /// 发送邮件的执行过程
        /// </summary>
        /// <returns></returns>
        public bool SendMail()
        {
            //实例化MailMessage类,该类表示可以使用 SmtpClient 类发送的电子邮件
            //这里myEmail就表示将要发送的电子邮件实例
            MailMessage myEmail = new MailMessage();
            myEmail.From = new MailAddress(fromMail.Text.Trim());                   //电子邮件的发件人
            myEmail.Subject = subject.Text.Trim();                                  //电子邮件的主题
            myEmail.IsBodyHtml = format.SelectedItem.Value == "0" ? false : true;   //设置电子邮件正文格式是否为HTML格式

            //遍历收件人邮箱地址,并添加到此邮件的收件人里       
            if (toMail.Text.Trim().Length != 0)
            {
                string[] receivers = toMail.Text.Trim().Split(';');
                for (int i = 0; i < receivers.Length; i++)
                {
                    if (receivers[i].Length > 0)
                    {
                        myEmail.To.Add(receivers[i]);                               //为该电子邮件添加联系人
                    }
                }
            }

            //遍历从客户端接收到的附件,并依次添加到邮件的附件中
            HttpFileCollection uploadFilCol = Request.Files;
            for (int i = 0; i < uploadFilCol.Count; i++)
            {
                string ServerFileName = "";
                HttpPostedFile file = uploadFilCol[i];
                if (file.ContentLength != 0)
                {
                    try
                    {
                        string upFileName = file.FileName;
                        string[] strTemp = upFileName.Split('.');
                        string upFileExp = strTemp[strTemp.Length - 1].ToString();
                        string fileName = upFileName.Substring(upFileName.LastIndexOf("\\") + 1);
                        ServerFileName = Server.MapPath("/files") + "\\" + fileName;

                        file.SaveAs(ServerFileName);   //将此文件临时保存到服务端的files目录
                        myEmail.Attachments.Add(new Attachment(ServerFileName));  //为该电子邮件添加附件
                    }
                    catch (Exception ex)
                    {
                        Page.ClientScript.RegisterStartupScript(Page.GetType(), "message", "<script language='javascript' defer>alert(" + ex.Message + ");</script>");
                        throw;
                    }
                }
            }

            myEmail.Body = body.Text.Trim();           //电子邮件的主体内容
            myEmail.BodyEncoding = Encoding.UTF8;      //电子邮件主体内容的编码方式
            myEmail.Priority = MailPriority.High;      //设置此电子邮件的优先级

            //实例化SmtpClient类,该类用于将电子邮件发送到 SMTP 服务器以便传递
            SmtpClient smtp = new SmtpClient();
            smtp.Credentials = new NetworkCredential(fromMail.Text.Trim(), password.Text.Trim());   //设置用于验证发件人身份的凭据
            smtp.Port = 25;                           //设置用于 SMTP 事务的端口

            //根据发件人的电子邮件地址判断发件服务器地址
            if (fromMail.Text.Trim().Length != 0)
            {
                string[] addressor = fromMail.Text.Trim().Split(new Char[] { '@', '.' });
                switch (addressor[1])
                {
                    case "163":
                        smtp.Host = "smtp.163.com";
                        break;
                    case "gmail":
                        smtp.Host = "smtp.gmail.com";
                        break;
                    case "hotmail":
                        smtp.Host = "smtp-mail.outlook.com";
                        break;
                    case "qq":
                        smtp.Host = "smtp.qq.com";
                        break;
                    case "foxmail":
                        smtp.Host = "smtp.qq.com";
                        break;
                    case "sina":
                        smtp.Host = "smtp.sina.com.cn";
                        break;            
                }
            }
            smtp.EnableSsl = true;                    //指定 SmtpClient 是否使用安全套接字层(SSL)加密连接
                               
            try
            {
                smtp.Send(myEmail);                   //发送该邮件
                myEmail.Dispose();                    //关闭邮件使用的所有进程
                DeleteFiles();                        //删除临时目录files中刚刚上传的所有附件
            }
            catch (Exception e)
            {
                DeleteFiles();                        //删除临时目录files中刚刚上传的所有附件
                Page.ClientScript.RegisterStartupScript(Page.GetType(), "message", "<script language='javascript' defer>alert('发送失败,请检查您的邮箱账号和密码是否填写正确!');</script>"); ;
            }
            return true;
        }

        /// <summary>
        /// 遍历删除files文件夹内所有刚刚上传的附件
        /// </summary>
        protected void DeleteFiles()
        {
            DirectoryInfo files = new DirectoryInfo(Server.MapPath("/files"));
            foreach (System.IO.FileInfo f in files.GetFiles("*.*"))
            {
                f.Delete();
            }
        }
    }
}

       这里主要用到两个类,System.Net.Mail.MailMessage和 System.Net.Mail.SmtpClient,简单来说,MailMessage就是我们要发的邮件,SmtpClient的功能是在一定条件下把该邮件发送出去。

       System.Net.Mail.MailMessage类

       在MSDN上可以查到,MailMessage的属性如下:

   

       其中收件人To属性、抄送CC、密送BCC和附件Attachments都可以为多个值,所以在上面代码中,在发送函数SendEmail()中才可以为邮件添加多个收件人和多个附件,这里没有添加密送和抄送的功能,但道理一样。

       System.Net.Mail.SmtpClient类

       SmtpClient的属性有:

   

       方法有:

   

        根据这些属性和方法,您肯定能够理解代码中SmtpClient是如何将电子邮件发送出去了,这里说明几点注意事项: 

         SmtpClient的Host属性,发送不同类型的电子邮件使用的服务器是不同的,因此Host属性也是不同的,如果您有多个种类的邮箱,那么可以看一下您每个邮箱的发件服务器的地址是不是不同的,比如:

        163邮箱的发件服务器地址为:smtp.163.com

        谷歌邮箱的发件服务器地址为:smtp.gmail.com

        Hotmail邮箱的发件服务器地址为:smtp-mail.outlook.com

        Foxmail和QQ邮箱的发件服务器地址为:smtp.qq.com

        所以在代码中,加了一个Switch来根据发件人邮箱类型来设置发件服务器地址~∪~

        最后邮件发送成功或者失败时,都需要调用一下DeleteFiles()函数,来删除刚刚上传到服务器上的临时文件(附件),说一下为什么要增加这个files文件夹,因为这个例子在一台电脑上做测试完全不必加这个文件夹,直接把本地文件作为附件添加到MailMessage的实例就行,但因为为MailMessage添加附件这句代码myEmail.Attachments.Add(new Attachment(ServerFileName)); 是运行在服务端的,因此如果程序发布,在异地执行操作时就不可行了,所以需要先把附件上传到服务端(这里就在服务端添加了files文件夹用来存放临时文件),再为MailMessage添加该附件,最后清理上传到客户端的附件。

        暂时先做成这样,后面有需求时再进行优化。

        原创不易,最后附上参考文章:

         ASP.NET 发送邮件带附件__愤怒的小孩的博客-CSDN博客_.net 发送邮件 附件

        本例是在此文基础上修改而来       

ASP.NET Core+Docker+Jenkins实现持续集成的完整实例
10-18
主要给大家介绍了关于ASP.NET Core+Docker+Jenkins实现持续集成的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
ASP.NET发送邮件代码
Warren专栏
03-08 574
try            {                fromMail.Text = "yangtao1828@163.com"; //发送方邮件                MailMessage myMail = new MailMessage();                myMail.From = fromMail;                myMail.To = fromMail;                myMail.Cc = ccMail;            
ASP.NET中常用功能代码总结(7)——利用Jmail发送和接收邮件
weixin_33909059的博客
12-02 153
ASP.NET中常用功能代码总结(7)——利用Jmail发送和接收邮件 整理:Terrylee 一.利用Jmail发送邮件  1/**//// &lt;summary&gt; 2/// 利用Jmail发送邮件 3/// &lt;/summary&gt; 4private void SendMailByJmail() 5{ 6    /**////建立发邮件类 7    jmail.Mes...
ASP.NET学习基础十:电子邮件(没有密码验证)
最新发布
yixiaobing的博客
02-28 345
message.To= "测试= "内容(new(message);
ASP.NET发送邮件(同步、异步)
weixin_30609331的博客
03-15 188
方法1:这种方法的参数比较固定,发送邮件的参数都已经设定好了 写一个类: using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Net.Mail;using System.Text; /// <summary>///发送邮件类/// &l...
javaMail邮件发送功能(多收件人,多抄送人,多密送人,多附件)
热门推荐
select的博客
08-10 2万+
先看源码,再来理解,可以直接使用! JavaMailWithAttachment.java: private MimeMessage message; private Session session; private Transport transport; private String mailHost = ""; private String sen
ASP.NET 利用Outlook发送邮件
ABC123
03-06 2780
 引用命名空间:using System.Net.Mail;using System.Configuration;        ///         /// 发送EMAIL        ///         /// 收件人地址        /// 主题        /// 内容        /// 发件人名称        /// 发送是否成功        publ
使用aspx实现发送email
gtts
11-28 445
源代码如下:using System; using System.Data; using System.Configuration; using System.Collections; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; ...
C#毕业设计——基于C#+asp.net+cs的Web Mail邮件收发系统设计与实现(毕业论文+程序源码)——邮件收发系统
m0_66238867的博客
07-07 1万+
大家好,今天给大家介绍基于C#+asp.net+cs的Web Mail邮件收发系统设计与实现,文章末尾附有本毕业设计的论文和源码下载地址哦。文章目录: 项目难度:中等难度 适用场景:相关题目的毕业设计 配套论文字数:8808个字20页 包含内容:整套源码+完整毕业论文 资源文件目录简图如下: 提示:以下为毕业论文的简略介绍,项目源码及完整毕业论文下载地址见文末。引言 省略因此,本设计在脚本中调用.NET框架中System.Web.Mail命名空间,结合HTML完成邮件发送的开发与设计实现。1.1 选题意义
C#个人邮箱发邮件给多个邮箱
如果第一次你没有成功,那么称之为1.0版,继续加油。
04-22 3243
Java自学的网站(Java全栈工程师 | 以实例驱动学习 | how2j.cn) using NPOI.SS.UserModel; using NPOI.XSSF.UserModel; using System; using System.Collections.Generic; using System.IO; using System.Linq; using S...
.net邮件发送系统(带附件
02-15
自己做的.net邮件发送系统(带附件),代码简单易懂,就即使航代码,拿来就用
c#发送邮件实例(可以添加附件)
02-14
winform发送邮件的一个小demo,填入收件人、发件人、授权码、服务器和端口即可发送邮件
asp.net 实现发送邮件(源代码)
10-29
用代码实现邮件的发送。可以是匿名发送。里面包括一个jmail.dll文件。先添加该文件然后把jmail注册一下:运行 Regsvr32 C:\Jmail\Jmail.dll 其他的按步照班就行了。
asp.net 实现jmail 接收和发送邮件程序.zip
01-30
asp.net 实现jmail 接收和发送邮件程序.zip
asp.net实现多个文件同时下载功能
01-20
本文实例为大家分享了asp.net多个文件同时下载的具体代码,供大家参考,具体内容如下 1、首先读取文件夹下的文件,可能同时存在多个文件 2、选中文件,然后点击下载,同时可以选择多个文件。 思路:通过生产压缩包的...
ASP.NET学习大总结+笔记
10-06
ASP.NET学习大总结+笔记 分享一下啊
ASP.NET附件上传实现代码
10-29
在写这篇文章之前我也在Google上找到了很多有关多附件上传的文章,有用ASP.NET实现的,也有用JSP、PHP等其它技术实现
Entity Framework学习笔记——edmx文件
点滴汇聚,智在积累。——Danny
11-30 2万+
上文简单介绍了一下Entity FrameWork,这里说一下EF的核心——edmx文件。 从代码中可以看到,edmx大致由SSDL、CSDL、C-S三部分组成,分别对应着对于数据库、实体、数据库表与实体之间的映射这三方面的解析,SSDL中有对数据库表、字段等的规定,CSDL中有对实体名、实体属性等的规定,C-S中有对数据库表与实体之间的映射。一句话总结edmx文件,就是用来解析存储模型、概念模型以及这两者之间的映射,其实也还是上文中那张图片的详细表现。 上文第七步说到,生成ed
asp.net+mvc++ef+增删改查
06-28
### 回答1: ASP.NET MVC是一种基于ASP.NET的Web应用程序框架,它使用模型-视图-控制器(MVC)模式来构建Web应用程序。EF(Entity Framework)是一种ORM(对象关系映射)框架,它可以将数据库中的数据映射到.NET对象中。增删改查是指对数据库中的数据进行增加、删除、修改和查询操作。在ASP.NET MVC中,可以使用EF来进行数据库操作,实现增删改查功能。 ### 回答2: ASP.NET MVC 和 EF 是一对强力的开发工具,可以面向对象地开发 Web 应用程序。他们使用的是基于现代软件工程原则的模型-视图控制器模式,也就是MVC。这种模式不仅分离了应用程序的三个核心方面,即用户界面、数据业务逻辑和用户数据,而且还允许多个团队在不干涉彼此的情况下同时开发应用程序。 对于ASP.NET MVC来说,它是一种Web应用程序开发框架,适用于开发具有复杂功能和交互需要的动态Web应用程序。在ASP.NET MVC中,模型-视图-控制器(MVC)模式被广泛使用,以将Web应用程序拆分为三个核心部分:控制器,模型和视图。控制器作为请求接收者,负责处理请求并将响应发送回客户端;视图则负责呈现应用程序的用户界面;而模型则负责管理和检索应用程序的状态和数据。 对于EF来说,它是一种ORM对象关系映射工具,可自动将.NET对象映射为关系数据库中的表、视图和存储过程。使用EF,我们可以通过一个简单的API访问数据库,而不需要复杂的SQL语句。EF支持各种数据库,包括Microsoft SQL Server,Oracle,MySQL和SQLite等。 对于ASP.NET MVC和EF的增删改查,我们可以通过以下步骤来实现: 1. 建立数据库连接 在使用EF进行增删改查之前,我们需要建立数据库连接。在ASP.NET MVC中,我们可以在Web.config文件中配置连接字符串,指定数据库的位置和访问凭据。 2. 创建模型 我们需要创建一个类来定义模型。该类应该包含与数据库表中的列对应的属性。这些属性名称和数据类型应该与数据库中的列对应,以便我们可以将数据从一个位置传递到另一个位置。 3. 创建数据库上下文 我们需要创建一个EF数据库上下文,该上下文负责管理数据库连接和数据操作。我们可以在该上下文中创建插入、更新、删除和查询方法。 4. 插入数据 我们可以通过在数据库上下文中创建一个新对象并将其添加到数据库上下文中来插入数据。保存更改后,这些更改将通过EF发送到数据库。 5. 更新数据 要更新数据,我们可以在数据库上下文中查询现有对象,并更改其属性。一旦更改完成,我们可以保存更改并将更改提交到数据库。 6. 删除数据 要删除数据,我们可以在数据库上下文中查询现有对象,并调用删除操作。一旦删除完成,我们可以保存更改并将更改提交到数据库。 7. 查询数据 要查询数据,我们可以使用数据库上下文来执行LINQ查询。LINQ查询可用于检索数据,并通过视图将数据呈现给用户。 综上所述,我们可以看出ASP.NET MVC和EF是一对非常强大的应用程序开发工具,可以帮助我们构建复杂的Web应用程序,并为我们提供了一种简单而直观的方法来管理数据库操作。在项目中应用它们,可以极大地提高我们的开发效率,提高生产力。 ### 回答3: ASP.NET MVC是一种基于模型-视图-控制器(Model-View-Controller, MVC)架构设计的Web应用程序框架。该框架使用MVC设计模式,将应用程序分为几个不同的组件,这些组件分别处理不同方面的应用程序逻辑。 Entity Framework(EF)是一种对象关系映射(Object-Relational Mapping, ORM)框架,用于将数据库中的表格数据映射到.NET对象中。它允许开发人员通过使用.NET语言(如C#和VB.NET)来编写应用程序,而不必直接处理SQL代码。 在ASP.NET MVC应用程序中使用EF可以简化数据访问层的开发过程,并为应用程序提供数据持久化解决方案。下面将介绍如何在ASP.NET MVC中完成增删改查方法: 增加数据: 应用程序需要将表格的数据添加到数据库,可以通过以下几个步骤来完成添加数据的方法: 1、在模型中定义一个实体,该实体将表示您要添加到表中的数据。 2、在控制器中创建一个方法,该方法接受一个参数,该参数是从HTTP POST请求中发送到服务器的实体。 3、在方法中创建一个新的实体,将数据从请求参数分配给该实体的属性。 4、将新实体添加到EF上下文并保存更改。 删除数据: 应用程序需要从一个表中删除数据,可以通过以下几个步骤来完成删除数据的方法: 1、在控制器中创建一个方法,该方法接受一个参数,该参数是表格中的数据的唯一标识符。 2、在方法中使用EF查找需要删除的实体,并从 EF上下文中删除实体。 3、将更改保存到数据库。 更新数据: 应用程序需要更新表格中的数据,可以通过以下几个步骤来完成更新数据的方法: 1、在模型中定义一个实体,该实体将表示您要更新表格中的数据。 2、在控制器中创建一个方法,该方法接受一个参数,该参数是从HTTP POST请求中发送到服务器的实体。 3、在方法中使用EF查找需要更新的实体。 4、将传入的实体的属性复制到EF中查找到的实体中。 5、将更改保存到数据库。 查询数据: 应用程序需要从一个表中检索数据,可以通过以下几个步骤来完成查询数据的方法: 1、在控制器中创建一个方法,该方法将返回从数据库检索到的实体。 2、在方法中使用EF执行一个查询,以从表中检索数据。 3、返回从DB检索到的实体。 综上所述,使用ASP.NET MVC和EF可以轻松地完成最常用的数据库操作,增加、删除、修改和查询数据。此外,这些操作的执行效率也很高,可以为开发者节省大量的时间和精力。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
写文章

热门文章

  • html页面导出为pdf(jsPDF、iText、wkhtmltopdf) 152538
  • 您的凭据不工作 之前用于连接到******的凭据无法工作。请输入新凭据。 124139
  • 数据脱敏——什么是数据脱敏 114336
  • 【POI框架实战】——POI导出Excel时设置单元格类型为数值类型 68722
  • 【项目实战】——Java根据奖品权重计算中奖概率实现抽奖(适用于砸金蛋、大转盘等抽奖活动) 43007

分类专栏

  • 运维 & 网络 & 安全 9篇
  • IOT 3篇
  • 业务场景 12篇
  • 思考总结 9篇
  • 日志 & 监控 5篇
  • 分布式 & 架构 & 微服务 3篇
  • 效率&工具 7篇
  • dubbo 4篇
  • 前端 12篇
  • 数据结构 & 算法
  • 问题解决 2篇
  • 大数据 4篇
  • 编程内功 7篇
  • 缓存 1篇
  • 计算机基础 15篇
  • Java 48篇
  • VisualBasic 8篇
  • ASP.NET 18篇
  • 常用Java框架 31篇
  • 英语学习 1篇
  • 数据库 6篇
  • MySQL 10篇
  • Oracle 3篇
  • SQL Server 4篇

最新评论

  • Java网络编程——NIO处理写事件(SelectionKey.OP_WRITE)

    ustbxyls: 即使服务端单独注册了OP_WRITE事件,在服务端单线程的情况下,在写大量数据的时候,还是会阻塞服务端的,无法正常接收其他请求的吧

  • Java网络编程——NIO三大组件Buffer、Channel、Selector

    打杂工程师: 详细,透彻,通俗!!

  • Https网站中请求Http内容

    java程序员-难廋!: 如果使用ng将https代理到http方案,服务器和 http 资源之间的网络不通,http 资源提供方又不愿意升级https。怎么解决呢?好像无解了。表情包

  • 分析MySQL执行的流程(连接、缓存、分析、优化、执行、Undo Log、Binlog、Redo Log)

    胡玉洋 : https://blog.csdn.net/weixin_43319713/article/details/134752014

  • 【玩转Eclipse】——eclipse实现代码块折叠-类似于VS中的#region……#endregion

    冬夜喜雨: 怎么折叠jsp页面的js

您愿意向朋友推荐“博客详情页”吗?

  • 强烈不推荐
  • 不推荐
  • 一般般
  • 推荐
  • 强烈推荐
提交

最新文章

  • 那些优秀程序员的共性特征
  • Java网络编程——粘包拆包出现的原因及解决方式
  • Java网络编程——NIO处理写事件(SelectionKey.OP_WRITE)
2023年1篇
2022年13篇
2021年8篇
2020年7篇
2019年6篇
2018年9篇
2017年11篇
2016年42篇
2015年47篇
2014年35篇
2013年28篇

目录

目录

评论 53
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值

聚圣源小额投资理财公司gmail注册3dmax下载我的id是江南美人评价因地制宜的意思新水浒剧情朱姓双胞胎女孩起名猪宝宝取名起名大全宜忌用字男孩最后一个名字怎么起uu898.com静安区失火大楼为何不拆经典官场小说陈浩民封神榜全集幼儿园起名2019勇者斗恶龙怪兽篇攻略好看的玄幻小说推荐武汉楚天都市报电话猪年宝宝起名名字宜用字dota地图ai下载武装的蔷薇拜登称如果当选将要求全美戴口罩戏梦巴黎在线观看vicky是什么意思梦见老婆怀孕汉中哪里起名字比较好yobt姓徐给儿子起名字恒丰银行怎么起一个适合自己的英文名字好听的男孩名字怎么起淀粉肠小王子日销售额涨超10倍罗斯否认插足凯特王妃婚姻让美丽中国“从细节出发”清明节放假3天调休1天男孩疑遭霸凌 家长讨说法被踢出群国产伟哥去年销售近13亿网友建议重庆地铁不准乘客携带菜筐雅江山火三名扑火人员牺牲系谣言代拍被何赛飞拿着魔杖追着打月嫂回应掌掴婴儿是在赶虫子山西高速一大巴发生事故 已致13死高中生被打伤下体休学 邯郸通报李梦为奥运任务婉拒WNBA邀请19岁小伙救下5人后溺亡 多方发声王树国3次鞠躬告别西交大师生单亲妈妈陷入热恋 14岁儿子报警315晚会后胖东来又人满为患了倪萍分享减重40斤方法王楚钦登顶三项第一今日春分两大学生合买彩票中奖一人不认账张家界的山上“长”满了韩国人?周杰伦一审败诉网易房客欠租失踪 房东直发愁男子持台球杆殴打2名女店员被抓男子被猫抓伤后确诊“猫抓病”“重生之我在北大当嫡校长”槽头肉企业被曝光前生意红火男孩8年未见母亲被告知被遗忘恒大被罚41.75亿到底怎么缴网友洛杉矶偶遇贾玲杨倩无缘巴黎奥运张立群任西安交通大学校长黑马情侣提车了西双版纳热带植物园回应蜉蝣大爆发妈妈回应孩子在校撞护栏坠楼考生莫言也上北大硕士复试名单了韩国首次吊销离岗医生执照奥巴马现身唐宁街 黑色着装引猜测沈阳一轿车冲入人行道致3死2伤阿根廷将发行1万与2万面值的纸币外国人感慨凌晨的中国很安全男子被流浪猫绊倒 投喂者赔24万手机成瘾是影响睡眠质量重要因素春分“立蛋”成功率更高?胖东来员工每周单休无小长假“开封王婆”爆火:促成四五十对专家建议不必谈骨泥色变浙江一高校内汽车冲撞行人 多人受伤许家印被限制高消费

聚圣源 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化