发表于: 2017-11-03 21:50:13

1 954


今日完成的事情:

今天和各种各样的困难斗争了一天,同时也暴露了我前面的一些知识学习的不扎实。

首先早上师兄验收我的任务二,让我修改几处,我看来看去觉得功能都已经实现了,没必要修改。让后我向旁边师兄请教,师兄告诉我我的restful风格有严重问题,只有delete是标准的restful风格,其他的都不是标准的restful风格。然后告诉了我标准的restful风格应有的样子:

比如:user/{id}....put(这个只是打比方)看到user/{id}一下子就知道是对第几个用户进行操作,看到后面的方法put,就应该知道是对用户进行了什么操作。我一下子对restful风格理解加深了几份。按照师兄的要求更改后的controller层如下:

@RequestMapping(value = "/user/list",method = RequestMethod.GET)
public String listUser(Model model) {
   List<User> list = userService.queryAllUser();
   model.addAttribute("list", list);
   logger.info("所有用户信息");
   return "listUser";
}
//查看一个用户信息
@RequestMapping(value = "/user/{id}",method = RequestMethod.GET)
public String queryUser(@PathVariable int id,Model model){
   User user=userService.queryUserById(id);
   model.addAttribute("user",user);
   return "jsonUser";
}
//新增用户
@RequestMapping(value = "forAddUser",method = RequestMethod.GET)
public String addUserForm(){
   logger.info("新增用户");
    return "addUser";
}
//跳转到添加用户页面
@RequestMapping(value = "/user",method = RequestMethod.POST)
public String add(Model model,User user) {
   logger.info(user.toString());
   userService.add(user);
   logger.info("添加用户成功");
   model.addAttribute("user", user);
   return "redirect:/user/list";
}
//删除用户
@RequestMapping(value = "/user/{id}",method = RequestMethod.DELETE)
public String deleteUser(@PathVariable int id) {
       logger.info("要删除用户ID为:"+id);
       userService.delete(id);
       logger.info("删除用户成功");
       return "redirect:/user/list";
}
//跳转到修改用户页面
@RequestMapping(value = "forUpdateUser/{id}",method = RequestMethod.GET)
public String updateUserForm(@PathVariable int id,Model model) {
   model.addAttribute("id",id);
   return "updateUser";
}
//修改用户页面
@RequestMapping(value = "/user/{id}",method = RequestMethod.PUT)
public String update(User user,@PathVariable int id){
   logger.info(user.toString());
   logger.info(id);
   userService.update(user);
   return "redirect:/user/list";
}

这样,delete,put,get,post才有了restful风格的样子,四个方法对应的方法,都加上了user/{id},算是真正的见名知意了。

而且根据restful见名知意的原则,user/list是查看全部用户。随着后面的学习,继续加深对restful的理解吧。

接着进行任务三:

前几天买了个服务器备案成功,这几天可以使用了。在服务器上部署tomcat,任务一的时候部署过一次,但是那个时候自己部署的不符合规范,今天重新部署,部署在/usr/local/这个文件夹下,然后远程链接tomcat。在这里碰到了一个问题,我自己修改tomcat-users.xml和context.xml都是按照教程一步一步来的,但是就是部署不成功,远程链接不到。还是师兄帮忙,和我的步骤一摸一样就成功了,师兄说是我对Linux操作命令不熟悉,在输入的时候可能拼错单词之类的,还是要对Linux命令再熟悉一下。

成功页面。具体配置过程:

首先解除限制,把限制注释掉:

其次,注册账号,密码:

具体过程还是比较简单的,就是对Linux系统命令要熟悉一下,新知识,今天刚学习,还不太熟悉。

接着就是部署到服务器,这个又是一个坑啊,困了好长时间(中间的错误没有截图):

首先是部署上去之后一直都是Caused by: com.mchange.v2.resourcepool.TimeoutException: A client timed out while waiting to acquire a resource from com.mchange.v2.resourcepool.BasicResourcePool@5e7663 -- timeout at awaitAvailable()

一直都是这个错误,我看了好长时间的解决办法,但是都是太难理解了。找了好长时间,没有办法,把c3p0链接池换掉,换成了dbcp2连接池。然后接着部署,又遇到问题:

CLIENT_PLUGIN_AUTH is required

这个问题上网查了一下,是用的mysql-connector-java-xxx.jar版本太新,换回5.xx版本的jar顺利运行,终于是部署上去了:

用自己的域名加上controller里面写的url访问到了对数据库操作的页面。总算是成功了。

明日计划的事情:

任务三有好多新知识需要学习,明天学习nginx,一些脚本语言。

遇到的问题:

restful风格深入理解,配置tomcat远程链接,c3p0连接池链接出现超时,数据库jar包太新不适合。今天的问题太多了,师兄指导思路,自己百度找方法解决。

收获:

对Linux命令有了一定的掌握,restful风格进一步加深理解。

任务开始时间:2017/11/3

预计完成时间:2017/11/10

延期:无

禅道:http://task.ptteng.com/zentao/my-task.html




返回列表 返回列表
评论

    分享到