小米商城项目总结

  1. 脚本中判断是否相等不能用equals,没有这个方法,只能用==
  2. 数据库工具类,只需要加载一次就够了,所以我们采用静态代码块来初始化该方法,作为工具类使用
  3. public static QueryRunner qr = null;//因为是在不同包下的,所以要用public才可以调用

  4. Ajax往Servlet发送数据的时候Servlet必须response一个数据,不然会报parseerror,ajax的特点就是有来必有回
  5. Ajax调试,xhr.state,textState,errorThrown
  6. Ajax接到值之后不管什么类型都会被转换成字符串格式
  7. 定义输出路径(默认上传到服务器文件夹下)   String path = req.getServletContext().getRealPath("/")还可以指定硬盘的任意一个目录为path,然后把这个位置部署到Tomcat上
  8. Servlet中不能有返回值。给ajax返回值只能通过response的方式,不能return

  9. <thead>和<tbody>为table标签里特有,可以省略,代表表头和表身的主题,在循环的时候<tbody>要包含在循环内

  10. 配置完本地服务器,连接需要在EL表达式前加上http://localhost/8080/att/,即完整地址,汤姆猫8080显示不出来是因为配置了虚拟服务器没有指定下级路径,服务器默认找的是这个。
  11. equest设置encoding只解决post的乱码问题,不能解决get的乱码问题
  12. <a href="javascript:void(0)" onclick="fenYe(1)">首页</a>,让a链接本身失效,执行我们绑定的方法

上传图片的步骤

  1. 将form表单添加一个属性, ectype=Multipart/form-data
  2. 给上传控件<input type=file”> 给一个名字
  3. Servlet添加注解标记 @MultipartConfig  [如果不添加所有数据都获取不到]
  4. 通过request获取Servlet封装的Part对象
  5. 通过part获取当前图片的URL信息[为了校验上传的文件格式]String url = part.getHeader("Content-disposition");
  6. 定义输出路径
  7. 向路径中写入文件

    try {
    			Part part = request.getPart("pic");//获得图片的part对象,前提是form表单设置了enctype属性=multipart/form-data
    			//通过part获取当前图片的URL信息(图片的路径)
    			String url = part.getHeader("Content-disposition");
    			//读取图片名称
    			String fileName = url.substring(url.indexOf("filename")+10,url.length()-1);
    			System.out.println(fileName);
    			//获取当前文件的后缀 ,判断后缀是否合法
    			String suffix = fileName.split("\\.")[1];//分割字符串,注意.为特殊字符需要两个\\进行转义
    //			String suffix = fileName.substring(fileName.indexOf(".")+1);//也可以用截取字符串的方式
    			System.out.println("suffix:"+suffix);
    			if(!suffix.equals("jpg") && !suffix.equals("png") && !suffix.equals("gif") && !suffix.equals("jpeg")) {
    				request.setAttribute("msg", "图片只支持JPG、PNG、GIF、JPEG格式");
    				request.getRequestDispatcher("admin/commodity_add.jsp").forward(request, response);
    			}
    			
    			String path = "D:\\Mi_Load";
    			//判断路径及文件夹是否存在
    			File file = new File(path);
    			if(!file.exists()) {
    				file.mkdirs();//创建多层目录
    			}
    			pic = UUID.randomUUID()+fileName;
    			//写入文件
    			part.write(path+"/"+pic);//part自带write方法
    			
    		} catch (Exception e) {
    			e.printStackTrace();
    		}

猜你喜欢

转载自blog.csdn.net/qq_42837554/article/details/89526781