• 软件接口设计怎么做?前后端分离软件接口设计思路

    [置顶]软件接口设计怎么做?前后端分离软件接口设计思路

    API接口管理 2022-09-21

    本文关于软件接口设计怎么做?前后端分离软件接口设计思路。好的系统架构离不开好的接口设计,因此,真正懂接口设计的人往往是软件设计队伍中的稀缺型人才。为什么在接口制定标准中说:一流的企业做标准,二流的企业...

  • 接口管理如何做?接口实现版本管理的意义和最佳方法

    [置顶]接口管理如何做?接口实现版本管理的意义和最佳方法

    API接口管理 2022-10-27

    本文关于接口管理如何做?接口实现版本管理的意义和最佳方法。API版本管理的重要性不言而喻,对于API的设计者和使用者而言,版本管理都有着非常重要的意义。下面会从WEB API 版本管理的角度提供几种常...

  • 实现API管理系统的关键

    [置顶]实现API管理系统的关键

    API接口管理 2023-06-16

    下面将通过几个关键词的形式说明API管理的重要性和未来的实现方式。1.生命周期管理在整个API生命周期中更深入地集成所有工具将进一步提高生命周期循环的速度,而且更重要的是提供满足消费者需求的API。这...

  • Spring测试 其实很简单

    Spring测试 其实很简单

    API接口管理 2023-07-11

    Spring测试 其实很简单在过去的职业生涯里,我经常发现有些人不写测试代码,而他们声称不写的理由是无法轻易地写出覆盖多个不同模块的测试用例。好吧,我相信他们中的大部分要么是缺乏一些比较易掌握的技术手...

  • java简单坦克大战制作代码

    java简单坦克大战制作代码

    API接口管理 2023-07-11

    java简单坦克大战制作代码利用java语言中的集合、Swing、线程等知识点编写一个坦克大战游戏。(1) 画出敌我坦克的原理:在坦克类里面有一个布尔类型变量good。用于判断坦克的阵营,在创建坦克对...

  • 全面了解JavaScirpt 的垃圾(garbage collection)回收机制

    全面了解JavaScirpt 的垃圾(garbage collection)回收机制

    API接口管理 2023-07-11

    全面了解JavaScirpt 的垃圾(garbage collection)回收机制一、垃圾回收机制—GCjavascript具有自动垃圾回收机制(GC:Garbage Collecation),也就...

  • Spring MVC 注解自动扫描失效原因分析

    Spring MVC 注解自动扫描失效原因分析

    API接口管理 2023-07-11

    Spring MVC 注解自动扫描失效原因分析关于spring自动扫描,在控制层,采用注解配置@Controller,项目能够成功启动,且无任何报错。但是 在进行页面跳转时,并未进行相应的拦截,整个界...

  • 由浅入深剖析Angular表单验证

    由浅入深剖析Angular表单验证

    API接口管理 2023-07-11

    由浅入深剖析Angular表单验证最近手上维护的组件剩下的BUG都是表单验证,而且公司的表单验证那块代码经历的几代人,里面的逻辑开始变得不清晰,而且代码结构不是很angular。是很有必要深http:...

  • ECMAScript6快速入手攻略

    ECMAScript6快速入手攻略

    API接口管理 2023-07-11

    ECMAScript6快速入手攻略简介ECMAScript 6 是javascript的下一个标准,正处在快速开发之中,ECMAScript 6 的目标,是使得javaScript可以用来编写复杂的应...

  • 值得Java开发者关注的7款新工具

    值得Java开发者关注的7款新工具

    API接口管理 2023-07-11

    值得Java开发者关注的7款新工具云计算、大数据地快速发展催生了不少热门的应用及工具。作为老牌语言java,其生态圈也出来了一些有关云服务、监控、文档分享方面的工具。本文总结了7款较新的Java工具,...

  • 利用java实现二维码和背景图的合并

    利用java实现二维码和背景图的合并

    API接口管理 2023-07-11

    利用java实现二维码和背景图的合并背景介绍:最近我们这边需要做一个自动生成二维码并且还要将二维码嵌入现有的背景模板中,一直又没写过这些方面的东西,突然写还真是有点迷糊,特别是对于java图片API并...

  • 深入理解Java反射

    深入理解Java反射

    API接口管理 2023-07-11

    深入理解Java反射要想理解反射的原理,首先要了解什么是类型信息。java让我们在运行时识别对象和类的信息,主要有2种方式:一种是传统的RTTI,它假定我们在编译时已经知道了所有的类型信息;另一种是反...

  • ";

    String desc = photo.getDesc();

    String delStr = "删除";

    String downStr = "下载";

    out.println("

    out.println("

    out.println("

    out.println("

    out.println("

    out.println("

    + "

    out.println("

    }

    out.println("

    out.println("

    out.println("

    out.println(" ");

    out.println("");

    out.flush();

    out.close();

    }

    }

    删除文件-DelServlet.java

    package cn.hncu.servlets;

    import java.io.IOException;

    import java.io.PrintWriter;

    import javax.servlet.ServletException;

    import javax.servlet.http.HttpServlet;

    import javax.servlet.http.HttpServletRequest;

    import javax.servlet.http.HttpServletResponse;

    import cn.hncu.domain.PhotoModel;

    import cn.hncu.photoDao.Dao.PhotoDao;

    import cn.hncu.photoDao.factory.PhotoDaoFactory;

    public class DelServlet extends HttpServlet {

    //注入

    private PhotoDao dao = PhotoDaoFactory.getPhotoDao();

    public void doGet(HttpServletRequest request, HttpServletResponse response)

    throws ServletException, IOException {

    doPost(request, response);

    }

    public void doPost(HttpServletRequest request, HttpServletResponse response)

    throws ServletException, IOException {

    String uuid = request.getParameter("uuid");

    String ip = request.getRemoteAddr();

    response.setContentType("text/html;charset=utf-8");

    PrintWriter out = response.getWriter();

    PhotoModel photo = dao.getSingleByUuid(uuid);

    if(photo!=null){

    if(!photo.getIp().equals(ip)){

    out.print("

    out.print("返回上一页 ");

    return ;

    }

    //1.删除数据库中的信息

    boolean boo = dao.deleteXml(uuid);

    if(boo){

    String fileName = "photos/"+photo.getDir()+"/"+photo.getUuid()+photo.getExt();

    String pathFileName = getServletContext().getRealPath(fileName);

    if(dao.deleteFile(pathFileName)){

    //重定向到相册页面

    response.sendRedirect("/myPhoto/cloudPhoto?pwd=chx");

    }else{

    out.print("

    out.print("返回上一页 ");

    }

    }else{

    out.print("

    out.print("返回上一页 ");

    }

    }

    }

    }

    下载文件-DownServlet.java

    package cn.hncu.servlets;

    import java.io.FileInputStream;

    import java.io.IOException;

    import java.io.InputStream;

    import java.io.OutputStream;

    import java.net.URLEncoder;

    import javax.servlet.ServletException;

    import javax.servlet.http.HttpServlet;

    import javax.servlet.http.HttpServletRequest;

    import javax.servlet.http.HttpServletResponse;

    import cn.hncu.domain.PhotoModel;

    import cn.hncu.photoDao.Dao.PhotoDao;

    import cn.hncu.photoDao.factory.PhotoDaoFactory;

    public class DownServlet extends HttpServlet {

    private PhotoDao dao = PhotoDaoFactory.getPhotoDao();

    public void doGet(HttpServletRequest request, HttpServletResponse response)

    throws ServletException, IOException {

    doPost(request, response);

    }

    public void doPost(HttpServletRequest request, HttpServletResponse response)

    throws ServletException, IOException {

    String uuid = request.getParameter("uuid");

    System.out.println(uuid);

    PhotoModel photo = dao.getSingleByUuid(uuid);

    System.out.println(photo);

    if(photo!=null){

    //设置响应头--内容接收程序--浏览器看到这个响应头,就会把它认为的下载程序打开

    //(如果识别迅雷那么就会自动打开迅雷,如果没有则会打开一个“文件另存为”的对话框)

    response.setContentType("application/force-download");

    String realName = photo.getRealName();

    String agent = request.getHeader("User-Agent");

    System.out.println(agent);

    if(agent.indexOf("Mozilla")!=-1){//火狐浏览器

    response.setHeader("Content-Disposition" alt="自己动手写一个java版简单云相册" title="自己动手写一个java版简单云相册" width="200" height="150">

    自己动手写一个java版简单云相册

    API接口管理 2023-07-10

    自己动手写一个java版简单云相册动手写一个java版简单云相册,实现的功能是: 用户可以一次上传一个至多个文件。 用户可以下载其他人上传的图片。 用户可以查看其他所有人的图片。 用户只能删除通过自己...