发表于: 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
评论