SSH基础知识

来源:互联网 发布:启信宝数据来源 编辑:程序博客网 时间:2024/05/13 09:51
  从逻辑角度,系统可以分成客户端,web服务器,应用服务器,数据库服务器四层。 应用服务器可以扩充
      Servlet技术(执行过程):1.客户想web容器(如tomcat)发送HTTP请求 2.容器装入Servlet,Servlet一直保留在内存中,只到容器卸载它(tomcat停止运行) 3.web容器吧HTTP请求信息发送给Servlet,给每个用户请求创建一个新的线程。4.Servlet把HTTP请求转换成HttpServletRequest(该对象包含用户输入的数据和请求参数),处理请求后生成一个相应的HttpServletResponse,这两个对象传给Servlet的service()方法,由容器调用该方法,执行后将信息反馈到容器中。5.容器把这些反馈信息回送到客户端浏览器。
      Servlet的生命周期:实例化(Servlet容器创建Servlet的实例)——初始化(容器调用init()方法)——服务(如果请求Servlet,则容器调用service()发法)——销毁(销毁实例前调用destroy()发法)——不可用(销毁实例并标记为垃圾收集)
      Action直接访问Servlet API,struts 2提供了接口ServletContextAware,ServletRequestAware,ServletResponseAware,实现这些接口可以直接访问ServletContext,HttpServletRequest和HttpServletResponse实例 优点:直接访问,方便简单;缺点:耦合在一起
      ORM的优点:1.提高了开发效率(自动实现实体对象与表中字段和属性的映射)2.提供了DB映射(像操作对象一样从DB中获取数据,不需直接SQL编程)缺点:1.添加持久层,效率降低 2.在持久化对象的提取和数据加工处理上,可能会将数据提取到内存,可能引起性能问题 3.ORM一般会持久化所有属性,而实现不希望这样
      POJO(plain old java object)简单的java对象
      Servlet和JSP区别:1.Servlet中没有内置对象,原来JSP中的内置对象都必须通过HttpServletRequest对象,或由HttpServletResponse对象生成 2.对于静态的HTML标签,Servlet都必须使用页面输出流逐行输出。 JSP是Servlet的简化,使用JSP只需要完成程序员需要输出到客户端的内容。至于JSP中的java脚本如何镶嵌到一个类中,有JSP容器完成。而Servlet是完整的java类,这个类的service方法用于生产对客户端的相应。
       Filter并不是一个标准的Servlet,它不能处理用户请求,也不能对客户端生成响应。主要用于对HttpServletRequest进行预处理,或对HttpServletResponse进行后处理,是个典型的处理链。创建步骤:创建Filter处理类,在web.xml文件中配置Filter
       依赖注入之前又叫控制反转,当某个java实例需要另一个java实例时,在传统设计过程中,通常由调用者来创建被调用者的实例。而在依赖注入的模式下,创建被调用者的工作不再由调用者来完成,通常由Spring容器来完成,然后注入调用者,因此称为依赖注入。依赖注入通常有两种:设置注入(使用setter方法)和构造(通过构造方法)注入。
     Spring中的bean包括数据源,Hibernate的SessionFactory及事务管理器等。调用者可获得bean的引用,而无须关心bean的实例化。
    整合SSH过程:1.引入Spring包,并测试(把Spring的jar包复制后粘贴到webroot下的lib文件夹下)
         2.在src目录下开发一个beans.xml,spring的容器文件
    测试:建一个测试包,建一个JavaBean文件TestService类,在建个TestApp类,其中包含main函数做测试,在beans.xml中配置TestService的JavaBean    

整合Hibernate时可以手写文件;也可以用逆向工程
逆向工程:
    1.数据库浏览器先连接到mysql数据库
    2.导入Hibernate包(使用myeclipse的工具导入包,否则无法使用逆向工程)右键工程-myeclipse-project facet-install Hibernate facet  
    3.把原来的Hibernate库删掉(右击Hibernate 3.3 Library——build path——remove from build path),把Hibernate换成自己的包,粘贴自己的Spring的jar包   
    4.到数据库浏览器,右键表-逆向工程,把表映射成domain对象(选择java package,勾选Java Data Object(POJO)——选择Id Generator,取消选择其他的勾选——
    5.整合struts,和使用Hibernate类似。


0 0
原创粉丝点击