• 简述泛型、用Maven创建Web项目以及在Web项目上整合SpringMVC


    表设计

    Timestamp列是否取消“根据当前时间戳自动更新”

    是否null及默认值选择合理不合理

    外键命名规范及更新和删除时的动作是否合理

     

    泛型

    类型参数 ——允许在外部指定类型--类型不是固定的!

    强类型——不允许改变变量或者属性或者参数的类型——类型的固定!

    int add(User user);

    在类型编程语言中类型是固定的,所以一个方法只能干一个事

    如上面的方法因为参数类型的限制,只能添加用户,而无法添加“课程”、“分类”等

     

    这种限制的好处:

        可以开发出强大的集成开发环境,用来对程序员代码进行实时错误检查

         智能提示、智能推断、智能改错、智能重构等强大的开发支持功能

     

    强类型的缺陷

        无法写出跨越多种类型的通用代码  

        只能勉强写成   int add(Object obj);

             又会产生obj无法直接 . 出来我们希望使用属性、方法

             如果想 . 出来,就需要强制类型转换,但是转换的时候是没有类型检查的,非常容易出错

             此时,强类型语言的优势全部丧失!

    泛型参数

        表示可变类型的符号,通常习惯用单字母表示

        定义时 ModelDao<M>    类比为形参

        使用时 ModelDao<User>  类比为实参

       

            通过下面的方法可以限定M的范围

            定义时 ModelDao<M extends Model>

            使用时 ModelDao<String>      就会报错!

                   NodelDao<User>        正确

    使用Maven创建Web项目

    1.使用maven新建项目,选中create simple...

    2.打包方式选择war

    3.在项目点右键-->properties-->project facets

    a. 取消 web project module 选择,点apply

    b. 更改web project module 的版本号为3.1

    c. 选中它,再点apply

    d. 在下方蓝色链接(further config...)处点击

    e. 在弹出的窗口中指定context root webcontent

    l Webcontent设置为src/main/webappMaven的约定)

    4. build path 中添加tomcat运行时依赖

    5. deployment  assembly  中删除src/test/javasrc/test/resources  

    6. 创建一个Servlet测试,确保Servlet能运行之后,然后添加

    Web项目上整合SpringMVC

    1.需要在pom文件中添加spring-webmvc依赖项

    2.如果使用JSP作为视图引擎,则再添加jstl

    3.如果不想在build path中添加tomcat,则需要再添加servlet-api

          A)<scope>设置为provided ,表示这个jar包由运行环境提供,

    不需要打包到war

    4.web.xml

         1>配置请求编码过滤器

        2>DispatcherServletSpringMVC的总请求处理器/前置控制器/请求派发器)

        3>配置ContextLoadListener(在应用启动时,加载Spring上下文配置文件,创建并启动Spring上下文)

    5.创建springmvc-servlet.xml,在其中指定

         A)   component-scan    Spring去扫描@Controller@Service等注解

         B)   annotation-driven   SpringMVC进行默认装配,并实现

    注解驱动----通过Spring上下文中的对象来支撑SpringMVC运行

         C)   配置视图控制解析器   指定使用哪种视图解析器(本项目使用JSP)

    ① 指定视图文件后缀名

    ② 视图文件的存放路径

    6.创建applicationContext.xml配置文件

          A)  本文件用来启动和初始化Spring上下文,在上下文中注册系统运动时需要自动创建的对象  

      7.创建applicationContext指定的其它配置文件

           A)mybatis的配置文件

           B) log4j的配置文件    

    Maven命令(部分)

      mvn  clean    清理项目的target文件夹

      mvn  compile  编译项目

    (将java编译成类放到输出文件中,将资源文件放到输出文件中)

    mvn  install   jar包安装到本地仓库

         跳过测试    mvn install -DskipTests

     

    清理项目

    方法一:在项目上点右键-->maven-->update projects.....

    方法二: 在主菜单project-->clean.....

     

     

     父项目中的配置文件

    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

      <modelVersion>4.0.0</modelVersion>

      <groupId>com.zhiyou100.video</groupId>

      <artifactId>video-parent</artifactId>

    <!--   会在很多地方使用,方便修改 -->

      <version>${ version }</version>

      <name>Video Parent</name>

      

      <!-- 作为其他项目的父项目,为其他项目共享属性,共享信息 -->

      <packaging>pom</packaging>

      <url>http://www.zhiyou100.com</url>

      <description>智游在线。智游在线教育平台,提供视频教程,互动学习等服务</description>

      <properties>

       <version>0.1</version>

       <spring.version>4.3.9.RELEASE</spring.version>

         <maven.compiler.source>1.8</maven.compiler.source>

          <maven.compiler.target>1.8</maven.compiler.target>

      </properties>

      <dependencies>

      

    <!--   下面的dependency为什么添加到父项目里?

      因为子项目都需要用到,放在父项目中,让子项目继承即可 -->

       <dependency>

       <groupId>junit</groupId>

       <artifactId>junit</artifactId>

       <version>4.12</version>

      

       <!-- 测试用的作用域 -->

       <scope>test</scope>

       </dependency>

      

       <dependency>

    <groupId>org.springframework</groupId>

    <artifactId>spring-test</artifactId>

    <!-- 版本里为什么用变量定义?

    spring里有很多jar包,需要保证jar包中一致,定义变量更好 -->

    <version>${spring.version}</version>

    <scope>test</scope>

    </dependency>

      

      </dependencies>

      

      <modules>

       <module>video-service</module>

       <module>video-web</module>

      </modules>

    </project>

      

  • 相关阅读:
    JSP的作用域与COOKIE
    jsp数据交互
    JSP基本使用方式
    分层架构的初步理解
    JDBC的基本应用
    HTML5新标签
    弹性布局
    解决js获取兄弟节点的兼容问题
    js去重函数(封装函数)
    封装日期函数
  • 原文地址:https://www.cnblogs.com/yangxiansen/p/7860023.html
Copyright © 2020-2023  润新知