发表于: 2018-04-03 23:39:31

1 682


今天完成的事情:

完成task1中的service

项目效果

model层,dao层和service层基本没看头,就不看了,我们来看看完整的controller层

@Controller
public class UserController {
private final Logger logger = LoggerFactory.getLogger(UserController.class);

   @Autowired
   private UserService userService;

   /**跳转到添加页面
    */
   @RequestMapping(value = "/user", method = RequestMethod.GET)
public String toAdd(Model model) {
return "addUser";
   }
/**
    * 添加用户
    */
   @RequestMapping(value = "/user", method = RequestMethod.POST)
public String addUser(User user, Model model) {
logger.info("/users POST the user's parameters are name:{},qq:{},type:{},university:{},time{},daily_link:{}," +
"pledge:{},senior:{},locality:{}",user.getName(),user.getQq(),user.getType(),user.getUniversity(),
               user.getTime(),user.getDaily_link(),user.getPledge(),user.getSenior(),user.getLocality());
       user.setCreate_at(System.currentTimeMillis());
       user.setUpdate_at(System.currentTimeMillis());
       userService.addUser(user);
       return "redirect:/users";
   }
/**
    * 删除用户
    */
   @RequestMapping(value = "/users/{id}", method = RequestMethod.DELETE)
public String deleteUser(@PathVariable("id") Integer id, Model model,User user) {
logger.info("/users/{id} DELETE the incoming ID is:{}",user.getId());
       userService.deleteUser(id);
       return "redirect:/users";
   }
/**
    * 编辑用户
    */
   @RequestMapping(value = "/users/{id}", method = RequestMethod.PUT)
public String updateUser(User user) {
logger.info("/users PUT the user's parameters are name:{},qq:{},type:{},university:{},time{},daily_link:{}," +
"pledge:{},senior:{},locality:{}",user.getName(),user.getQq(),user.getType(),user.getUniversity(),
               user.getTime(),user.getDaily_link(),user.getPledge(),user.getSenior(),user.getLocality());
       user.setUpdate_at(System.currentTimeMillis());
       userService.updateUser(user);
       return "redirect:/users";
   }
/**查询单个用户
    */
   @RequestMapping(value = "/users/{id}", method = RequestMethod.GET)
public String getUser(@PathVariable("id") Integer id, Model model,User user) {
logger.info("/users/{id} GET the information of select one ID is:{}",user.getId());
       user=userService.getById(id);
       model.addAttribute("user",user);
       return "editUser";
   }
/**查询所有用户
    */
   @RequestMapping(value = "/users", method = RequestMethod.GET)
public String getAllUser(@RequestParam(value = "pn",defaultValue = "1")Integer pn, Model model) {
PageHelper.startPage(pn, 5);
       List<User> userList=userService.getAll();
       PageInfo<User> pageInfo = new PageInfo<>(userList);
       model.addAttribute("pageInfo", pageInfo);
       return "allUsers";
   }
}

这里是经过测试的增删改查都成功的,

其中添加和编辑是跳转到新页面的,写了两个跳转页面.


经过这两天的使用restful风格,确实感觉到这种约束很有必要,非常的清晰明了.同一个请求可以,通过不同的http方法接收到.

然后再maven项目POM中添加jetty插件.

Jetty 是一个开源的servlet容器,它为基于Java的web容器。Jetty是使用Java语言编写的,它的API以一组JAR包的形式发布。

Jetty 作为一个独立的 Servlet 引擎可以独立提供 Web 服务,但是它也可以与其他 Web 应用服务器集成,所以它可以提供基于两种协议工作,一个是 HTTP,一个是 AJP 协议.

jetty和tomcat都是一种servlet引擎,他们都支持标准的servlet规范和javaEE规范.

这两个不同的点是

1,jetty架构比tomcat简单

jetty架构是基于Handler来实现的,主要的扩展功能都可以用Handler来实现,扩展简单

tomcat的框架是基于容量设计的,进行扩展是需要了解tomcat的整体设计结构,不易扩展

2.性能比较

jetty和tomcat性能方面差异不大

jetty可以同时处理大量链接而且可以长时间保持链接,适合于javaWeb聊天应用

jetty的架构简单,因此作为服务器,jetty可以按需加载组件,减少不需要的组件,减少了服务器内存开销,从而提高服务器性能

jetty默认采用NIO结束来处理I/o请求上更占优势,在处理静态资源时,性能较高

tomcat适合处理少数非常繁忙的连接,也就是连接生命周期短的话,tomcat的总体性能更高

tomcat默认采用B/o处理I/o请求,在处理静态资源时,性能较差

jetty在maven项目中的引用,在POM的build中的plugins节点中添加

<plugin>
   <groupId>org.eclipse.jetty</groupId>
   <artifactId>jetty-maven-plugin</artifactId>
   <version>9.4.9.v20180320</version>
 </plugin>
</plugins>

之后在运行mvc jetty:run命令或者在idea中

上面的配置jetty是最简单的,后续还可以扩展.


之后下了PostMan测试接口 

测了增删改查

1,,,添加测试成功


2,

删除测试

3,

编辑测试

4,

@RequestMapping(value "/users"method = RequestMethod.GET)

查询测试


明天计划的事情:

完成任务二

遇到的问题:

之前在设置create_at和update_at的时候,没有考虑到是必须从数据库中取出来的,我直接在controller里面赋值是错误的.

收获:

了解了jetty,学习用postman测试接口,完成task1中的service 

进度:

完成任务二

任务开始时间:3.23

预计demo时间:4.3

是否延期:否

禅道地址:http://task.ptteng.com/zentao/project-task-562.html



返回列表 返回列表
评论

    分享到