发表于: 2018-01-19 01:48:57
1 624
今天完成的事情
1.解决昨天的bug,昨天的问题是出在了扫包以及测试类位置:
开始我仅仅在springmvc的配置文件中配置了aop以及自动扫描的包,未在springmybatis的包中配置。后来在师兄的帮助下找到了问题所在,扫描两次包。并且后来的单元测试我没有放在test目录下,导致测试时一直出错,最后纠正过劳,完成了日志切面。
从这个实例上说明一些问题:
好的习惯至关重要:单元测试类的存放地点
对ssm框架的配置文件的深入认识也非常重要
对爆出的异常的正确分析也很重要。
2.传一下自己的日志demo,因为在任务二基础上进行增加aop,所以只传修改到的文件:
首先是增加的aop切面:
package com.student.AOP;
import org.aspectj.lang.ProceedingJoinPoint;
public class controTime {
public Object log(ProceedingJoinPoint pjp) throws Throwable{
System.out.println("=========================");
Object object = pjp.proceed();
System.out.println("-------------------------");
return object;
}
}
然后dao里面加上service注解:
package com.student.dao;
import com.student.model.Student;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public interface StudentDao {
public void addStudent(@Param("name") String name,@Param("qq") Integer qq,@Param("school") String school,@Param("type") String type,@Param("say") String say, @Param("create_at") Integer create_at,@Param("update_at") Integer update_at);
public void deleteStudent(int id);
public void updateStudent(@Param("student")Student student, @Param("id") int id);
public Student getStudent(int id);
public List<Student> listStudent();
springmvc的扫描
<!-- 扫描web相关的bean 自动扫描注解了的类,并将其归于spring管理-->
<context:component-scan base-package="com.student.controller"/>
<context:component-scan base-package="com.student.service.impl"/>
<context:component-scan base-package="com.student.dao"/>
<context:component-scan base-package="com.student.service.impl"/>
springmybatis也一样
这样的话在运行项目的时候就可以看到切面日志了:
然后修改aop切面,让其输出我要的控制层执行的方法以及时间,成功。
3.进行深度思考
(1)SSH是英文Secure Shell的简写形式。通过使用SSH,你可以把所有传输的数据进行加密,这样"中间人"这种攻击方式就不可能实现了,而且也能够防止DNS欺骗和IP欺骗。使用SSH,还有一个额外的好处就是传输的数据是经过压缩的,所以可以加快传输的速度。SSH有很多功能,它既可以代替Telnet,又可以为FTP、Pop、甚至为PPP提供一个安全的"通道"。
简单的说就是一种加密协议。
(2)linux下载的话用wget命令
(3)各个容器的区别:
Jetty更满足公有云的分布式环境的需求,而Tomcat更符合企业级环境
Jetty更符合GAE(Google App Engine, 是 Google 管理的数据中心中用于 WEB 应用程序的开发和托管的平台) 的需求, 即云环境的需求,亦分布式环境的需求。
1)Jetty更轻量级。这是相对Tomcat而言的。
由于Tomcat除了遵循Java Servlet规范之外,自身还扩展了大量JEE特性以满足企业级应用的需求,所以Tomcat是较重量级的,而且配置较Jetty亦复杂许多。但对于大量普通互联网应用而言,并不需要用到Tomcat其他高级特性,所以在这种情况下,使用Tomcat是很浪费资源的。这种劣势放在分布式环境下,更是明显。换成Jetty,每个应用服务器省下那几兆内存,对于大的分布式环境则是节省大量资源。而且,Jetty的轻量级也使其在处理高并发细粒度请求的场景下显得更快速高效。
2)当支持大规模企业级应用时,Jetty也许便需要扩展,在这场景下Tomcat便是更优的。
所以,合适的选择应该为:云平台本身的门户网站放在Tomcat内,而云台托管的Java Web应该是部署在Jetty内的。
resin没有使用。。。
4.发现任务三还有遗留的问题:自动部署脚本。
我对这种能偷懒的东西向来是来者不拒,于是开始兴冲冲地搞这个脚本,期间参考了志荣大佬的日报,但是 没有实现,于是去网上搜了一波,按照一个教程完美地把我的web应用发布到了tomcat,并且可以访问:
在这里上传一下我写的自动部署脚本:
开始的第一行是更新当前的代码,
第二行是打包跳过test
第五行是删除所有webapps目录下的东西
第六航是把这个包弄到webapps目录下。cp命令用来将一个或多个源文件或者目录复制到指定的目的文件或目录。它可以将单个源文件复制成一个指定文件名的具体的文件或一个已经存在的目录下。
5.至此,任务三完事儿,提交任务三,开始看任务四。
首先搞清楚什么是静态内容和动态内容:
静态内容就是在服务器中真实存在的东西;
而动态内容就是服务器中不存在这个东西,只有路径,是从数据库中读取的。
接下里根据页面设计db:
根据这个图设计一个db
根据这个设计db:
根据这个设计db:
至此,db设计完成。
今天遇到的问题
对任务四不知如何下手
今天的收获
学会了编写自动部署脚本
明天计划的事情
推进任务四
评论