关于SpringMvc的基本介绍和,环境搭建我们已经再SpringMvc学习1之springMvc介绍进行讲解,后面省略的部分都来自于SpringMvc学习1之springMvc。
第一步:再webapp/WEB-INF下创建jsp文件夹,然后创建itemList.jsp页面
第二步:再src/main/java下创建controller包,dao包,pojo包,service包
第三步,再controller包下创建一个ItemsController类
注意这里的创建的ItemsController类,使用@Controller进行注解
第四步:在pojo包下面创建Items实体类
这里定义了三个属性,并且对它们使用了set()和get()方法,以及toString()方法。
第五步:写完实体类后,返回到ItemsController类中写代码
@RequestMapping("/list")
public ModelAndView itemsList(){
ArrayList<Items> list = new ArrayList<Items>();
Items items1 = new Items();
Items items2 = new Items();
Items items3= new Items();
items1.setId(1);
items1.setName("苹果");
items1.setPrice(1000f);
items2.setId(2);
items2.setName("华为");
items2.setPrice(2000f);
items3.setId(3);
items3.setName("小米");
items3.setPrice(3000f);
list.add(items1);
list.add(items2);
list.add(items3);
System.out.println(1);
ModelAndView modelAndView = new ModelAndView();
modelAndView.addObject("itemsList",list);
//再配置文件SpringMvc.xml中设置了前缀和后缀所以这里的itemsList相当于
///WEB-INF/jsp/itemList.jsp
modelAndView.setViewName("itemList");
return modelAndView;
}
- 这里没有连接数据库,所以创建了三个items对象,并且对每个对象都进行赋值。最后使用列表将三个对象存储到一起。
- 然后我们创建了一个modelAndView,调用该对象下面的addObject()方法,将list列表添加进去,并且给它了一个别名为itemsList.
- 最终我们使用 modelAndView.setViewName(“itemList”)跳转到itemList.jsp页面
- 在跳转的同时,还把modelAndView对象返回进去,因为该对象存储的有三个intems对象的值,所以也是把这三个值给传到itemList.jsp页面中。
第六步:第五步使用了注解,所以要在SpringMvc中开启注解,我们对返回的页面进行了简写,也就是只要写文件名,在访问该页面的时候自动为该文件添加前缀和后缀。
第七步:配置web.xml
web项目在运行的时候先访问web.xml。然后通过web.xml才能访问我们的resource下的其他xml配置文件
- 配置前端控制器
<!-- 配置springmvc前端控制器 -->
<servlet>
<servlet-name>SpringMvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param> <!--引入resource的配置文件地址-->
<!-- 配置初始化参数:指定SpringMvc核心配置文件的位置 -->
<param-name>contextConfigLocation</param-name>
<param-value>classpath:SpringMvc.xml</param-value>
</init-param>
<!-- tomcat启动时就加载这个servlet -->
<load-on-startup>1</load-on-startup> <!--设置启动顺序-->
</servlet>
这部分就是通过web.xml文件加载前端控制器,然后去读取SpringMvc.xml文件,并且设置启动项为1.
2. 配置<servlet-mapping>
<servlet-mapping>
<servlet-name>SpringMvc</servlet-name>
<!-- / 表示拦截所有请求,不包括jsp /* 表示拦截所有请求,包括jsp -->
<url-pattern>/</url-pattern>
</servlet-mapping>
<url-pattern>
应该给一个路径,但是我们在ItemsController中已经使用注解@RequestMapping(“list”)给过了,标准的使用restful开发,我们这里使用/既可。
第八步:编写itemList.jsp
由ItemsController中我们知道三个items对象的值,会通过modelAndView.setViewName(“itemList”)返回到itemList.jsp页面,所以要在该页面内写代码去读取三个元素。
源码地址:https://gitee.com/yangforever/project-learning/tree/master/demo/SpringMvc/springmvcday1