4.电商框架搭建(一)Spring MVC配置

    在之前的工作都很好完成的情况下,可以开始搭建电商框架了。

 

  • 1. 首先,新建一个maven项目。
        这里maven项目其实等于maven + Java  Web项目。新建的过程中选择的archetype决定Java项目的类型,比如选择webapp 就是Java Web项目,选择quickstart 就是新建一个简单的Java项目 。
(Maven相关使用请参考 Maven总结,Java Web 项目请参考 简单Java Web项目举例


  •  

     

     

      项目建成之后,显示如下:


         这里myeclipse自动给项目名后面添加了Maven Webapp,我一般习惯把名字改成实际的项目名,这里修改为myecom,项目主要有以下几部分组成:

  • pom.xml:主要用来配置项目的jar包等等,
  • src/main/resources:主要用来存放配置项目的配置文件和一些资源
  • src/main/webapp:主要用来放置前端页面相关的文件,其中web.xml是项目的启动入口
  • src/main/java:Myeclipse没有自动生成java文件夹,这里需要我们手动进入硬盘目录新建一下,这个文件夹主要是放置Java代码
  • target:存放项目构建后的文件和目录,jar包、war包、编译的class文件等。
  • 初始化依赖包

       添加java文件夹,修改source显示方式(右击项目build path->config build path,右侧source tab 下,点击add folder按钮,选中java文件夹即可,当然也可以通过项目的.classpath文件修改),最后可以看到显示如下:

       以上是我工作中常用的项目结构,至于有些书或者博客讲的结构标准化,可以了解参考,我觉得类似。

 

       项目建成之后右击run as -> run on server,http://localhost:8080/myecom/ 地址的页面显示hello world 表示新建成功。

 

  • 2.添加需要用到的jar包

       之前的博客说过,我们用spring4 来完成这个项目,那我们就通过pom.xml来添加spring4相关的包。点击pom.xml,再点击pom.xml的dependencies,点击add按钮,搜索spring4的包,点击添加,如下:


 

经过多次添加后如下:

 

        当然,包能正确引入的前提是,对相关包的作用以及关联包比较熟悉,这个需要查看官网、博客以及长期的经验积累,这里我添加的包以及用途可以参看pom.xml代码,如下:

  <!-- spring mvc相关的包-->
        <dependency>
        	<groupId>org.springframework</groupId>
        	<artifactId>spring-webmvc</artifactId>
        	<version>4.3.0.RELEASE</version>
        </dependency>
        
         <!-- spring 事物管理相关的包-->
        <dependency>
        	<groupId>org.springframework</groupId>
        	<artifactId>spring-tx</artifactId>
        	<version>4.3.0.RELEASE</version>
        </dependency>
        
        <!-- spring 数据库链接相关的包-->
        <dependency>
        	<groupId>org.springframework</groupId>
        	<artifactId>spring-jdbc</artifactId>
        	<version>4.3.0.RELEASE</version>
        </dependency>
        <dependency>
			<groupId>springframework</groupId>
			<artifactId>spring-orm</artifactId>
			<version>1.2.5</version>
		</dependency>
		
		<!-- Spring 面向切面AOP相关用到的包,Spring 3.0以前的版本不需要手动引入,之后则需要引入,如下 -->
        <dependency>
        	<groupId>org.aspectj</groupId>
        	<artifactId>aspectjweaver</artifactId>
        	<version>1.8.9</version>
        </dependency>
       
         <!-- HttpServletRequest 等用 -->
        <dependency>
        	<groupId>javax.servlet</groupId>
        	<artifactId>servlet-api</artifactId>
        	<version>2.5</version>
        </dependency>

 

引入的所有包可以在Maven Dependencies下查看:



 

 点击相关的包可以查看所包含的class以及源文件。值得注意的是,有些在pom.xml里没手动引入的包也在maven dependencies里了,这是maven根据jar之间的依赖关系自动下载并引入的。

 

  • 3.配置Spring MVC

      Java Web项目的配置,基本上都是从myecom\src\main\webapp\WEB-INF\web.xml这个文件开始的。Spring MVC的启动时通过DispatcherServlet这个servlet启动的,所以我们要在web.xml里配置并声明其为第一个启动的servlet,如下:

 

  <servlet>
    <servlet-name>springmvc</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <init-param>
      <param-name>contextConfigLocation</param-name>
      <param-value>classpath:config/springmvc-servlet.xml</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
  </servlet>
  
  <servlet-mapping>
    <servlet-name>springmvc</servlet-name>
    <url-pattern>*.do</url-pattern>
  </servlet-mapping>

   其中,

 

  • ①<servlet>标签里的内容是配置并设置启动的servlet,如果没有<init-param>这个标签,系统在启动时会默认在webapp\WEB-INF下找 servlet-name+"-servlet"名字的xml,有的话就去相应路径加载。
  • ②classpath:config/springmvc-servlet.xml(内容见后面部分),是src\main\resources\config\springmvc-servlet.xml,为了方便管理配置文件,我们常常会在src\main\resources\下新建一个config文件,将所有配置文件放到这里,配置是路径类似:classpath:config/文件名.xml等。
  • ③</servlet-mapping>里面规定的是请求格式,这里我们就允许以.do的请求访问。

springmvc-servlet.xml是servlet的一些配置,目前初始还是简单配置,之后配置会慢慢增多,如下:

 

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
    xmlns:context="http://www.springframework.org/schema/context"
    xmlns:mvc="http://www.springframework.org/schema/mvc"
    xsi:schemaLocation="
    http://www.springframework.org/schema/beans
    http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
    http://www.springframework.org/schema/context
    http://www.springframework.org/schema/context/spring-context-3.0.xsd
    http://www.springframework.org/schema/mvc
    http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd"> 
   
    <!-- 默认的注解映射的支持 -->  
    <mvc:annotation-driven />
     
    <!-- 自动扫描该包,将注解的类变为bean,并注入上下文直接使用-->  
    <context:component-scan base-package="com.qyuz.controller" />
    
    <!-- 定义跳转的文件的前后缀 ,视图模式配置 -->  
    <bean  
        class="org.springframework.web.servlet.view.InternalResourceViewResolver">  
        <!-- 这里的配置我的理解是自动给后面action的方法return的字符串加上前缀和后缀,变成一个 可用的url地址 -->  
        <property name="prefix" value="/WEB-INF/views/" />
        <property name="suffix" value=".jsp" />
    </bean>
</beans>

 其中,

  • ①<mvc:annotation-driven/>相当于注册了DefaultAnnotationHandlerMapping和AnnotationMethodHandlerAdapter两个bean,配置一些messageconverter。简单地说,就是提供了注解可使用的前提,注解相关内容见
  • ②<context:component-scan base-package="com.qyuz.controller" />,xml配置了这个标签后,Spring可以自动去扫描base-package下面或者子包下面的类文件,如果扫描到有@Controller@Service等这些注解的类,则把这些类注册为bean,并注入上下文使用(com.qyuz.controller这个包现在还没有,后面会建)。
  • 注意:如果配置了<context:component-scan>,那么<context:annotation-config/>标签就可以不用配置了,前者包含了后者。另,扫描范围可以自定义,将<context:component-scan的use-default-filters设置为false,配合使用 <context:include-filter> <context:exclude-filter>即可。
  • ③<bean></bean>标签里的内容是定义了一个内容解析器,用来处理Controller返回的ModelAndView,并映射成<property>标签规定的样子,这里是映射成,"/WEB-INF/views/"+返回值+".jsp".

    到此,Spring mvc在项目中相关的配置基本完成。

 

    查看下一篇博客继续…

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
熟悉项目开发过程中SSM框架、JSP、Mysql使用,知道各技术之间的如何衔接; 考虑到部分学生只需要学习前台(买家)或是后台(后台),故将电商系统分为电商系统前台和电商系统后台两个项目, 当前课程包含电商系统前台和电商系统后台 该课程主要涉及到的技术有:  项目涉及的技术:  1、前端:jsp、css、javascript、jQuery(js框架)、bootstrap框架 2、后台:Spring MVCSpring、Mybatis框架javaMail进行邮件发送、jstl 、jstl自定义分页标签、代码生成器等 3、数据库:Mysql 4、服务器:Tomcat项目开发涉及的功能: 1、项目以及数据库搭建 2、用户登录、退出3、用户注册、邮件发送、以及用户信息激活4、首页商品信息页面搭建以及查询功能实现5、查询商品明细6、加入商品至购物车、删除、更新、清除购物车商品信息7、确认订单信息8、订单页面搭建以及下订单功能实现9、查询我的购物车以及订单信息10、商品明细查看,商品修改,商品下架11、商品类型管理12、订单管理13、代码机器人使用等等其他实战项目:java项目实战之电商系统全套(前台和后台)(java毕业设计ssm框架项目)https://edu.csdn.net/course/detail/25771 java项目之oa办公管理系统(java毕业设计)https://edu.csdn.net/course/detail/23008 java项目之hrm人事管理项目(java毕业设计)https://edu.csdn.net/course/detail/23007 JavaWeb项目实战之点餐系统前台https://edu.csdn.net/course/detail/20543 JavaWeb项目实战之点餐系统后台https://edu.csdn.net/course/detail/19572 JavaWeb项目实战之宿舍管理系统(Java毕业设计含源码)https://edu.csdn.net/course/detail/26721 JavaWeb项目实战之点餐系统全套(前台和后台)https://edu.csdn.net/course/detail/20610 java项目实战之电子商城后台(java毕业设计SSM框架项目)https://edu.csdn.net/course/detail/25770 java美妆商城项目|在线购书系统(java毕业设计项目ssm版)https://edu.csdn.net/course/detail/23989 系统学习课程:JavaSE基础全套视频(环境搭建 面向对象 正则表达式 IO流 多线程 网络编程 java10https://edu.csdn.net/course/detail/26941 Java Web从入门到电商项目实战挑战万元高薪(javaweb教程)https://edu.csdn.net/course/detail/25976其他素材版(毕业设计或课程设计)项目:点击老师头像进行相关课程学习

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值