团队开发day03

团队开发day03

江:

今天队友提出要将数据传递到服务器,通过服务器来实现数据的获取,我这边只需要发出请求和接受数据。我继续我的热门商品listview继续发现listview控件可以设置点击事件

lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
HashMap<String,String> map=(HashMap<String,String>)lv.getItemAtPosition(position);
String title=map.get("title");
Toast.makeText(getActivity(), "第" +title+ "行", Toast.LENGTH_SHORT).show();
}
});
来进行后面具体界面的跳转。
然后我在想实现我的界面,希望实现比较好看的效果。
在网上搜索良久,没有找到满意的效果。

陈:在商品信息提交的时候需要提交商品的图片,这一部门是之前没有接触过的,所以从网上学习各种相关资源。

但是找了很久,都没有找到相关的,直到找到如下的代码,如下代码是从前端传过来图片后,servlet进行的一系列操作

进行了很久的研究,终于看懂的差不多了。接下来就是实践图片存入数据库了。

public class Inertm extends HttpServlet {
    
    protected void doPost(HttpServletRequest req, HttpServletResponse resp)
            throws ServletException, IOException {
        System.out.println("方法开始执行");
        resp.setContentType("application/json;charset=utf-8");
        req.setCharacterEncoding("utf-8");
        resp.setCharacterEncoding("utf-8");
        String name=req.getParameter("user");
        // 验证请求是否满足要求(post 请求 / enctype 是否以multipart打头
                boolean isMultipart = ServletFileUpload.isMultipartContent(req);
                // 如果不满足要求就立即结束对该请求的处理
                if (!isMultipart) {
                    return;
                }
                try {
                    // FileItem 是表单中的每一个元素的封装
                    // 创建一个 FileItem 的工厂类
                    FileItemFactory factory = new DiskFileItemFactory();
                    // 创建一个文件上传处理器(装饰设计模式)
                    ServletFileUpload upload = new ServletFileUpload(factory);
                    // 解析请求
                    List<FileItem> items = upload.parseRequest(req);
                    System.out.println(items);

                    for (FileItem item : items) {
                        // 判断文件类型
                        if (item.isFormField()) {
                            // 文本类型
                            String filename = item.getFieldName();
                            if (filename.equals("user")) {
                                name = item.getString("UTF-8");
                                System.out.println(name);
                            }
                        } else {
                            // 文件类型    
                            // 获取文件后缀名
                            String imgtype = item.getName().substring(item.getName().lastIndexOf("."));
                            // 给文件重新命名防止重复
                            String imgName = UUID.randomUUID() + imgtype;
                            System.out.println();
                            String path="D:\\JAVA\\img";
                            // 将上传的文件保存到服务器
                            item.write(new File(path, imgName));

                            // 把服务器中的路径添加到数据库中
                            String sqlPath=null;
                            sqlPath = "upload/" + imgName;
                            System.out.println("访问路径:" + sqlPath);
                            // 将路径保存到数据库
                            User u=new User();
                            u.setName(name);
                            u.setImgurl(sqlPath);
                            Userdao dao=new Userdao();
                            boolean flag=dao.addUser(u);
                            if(flag){
                                resp.getWriter().write("ok");;
                            }else{
                                resp.getWriter().write("on");;

                            }
                        }
                    }
                } catch (Exception e) {
                    e.printStackTrace();
                }

    }
}

 朱:完成安卓的登录和注册界面的设计,进行服务器端的开发,设计javabean实体

映射,零售商 ,商品,品牌商,订单类的构建

遇到问题:安卓发起网络请求,客户端回应请求,数据处理设置。

使用传统的方法

//1创建客户端对象
URL myurl = new URL(urlhttp);
//2创建连接对象
connection = (HttpURLConnection) myurl.openConnection();
//3发起连接
connection.connect();

 

posted @ 2021-05-04 15:17  team2021  阅读(53)  评论(0)    收藏  举报