您的位置:首页 > 编程语言 > Java开发

springmvc环境的搭建

2015-11-14 15:03 549 查看
使用的是spring3.2搭建环境;

===说明:(写博客时学习了传智博客SpringMVC3.2+Mybatis3.0开发视频))

(1):下载jar包

1、下载spring源包

spring地址:http://www.springsource.org/download

我下的是spring-framework-3.2.0.RELEASE-with-docs.zip

2、导入所需jar包

引入dist目录下除了下面三个其余所有包

org.springframework.web.struts-3.1.0.RELEASE.jar

org.springframework.spring-library-3.1.0.RELEASE.libd

org.springframework.web.portlet-3.1.0.RELEASE.jar

引入依赖包下com.springsource.org.apache.commons.logging-1.1.1.jar及com.springsource.org.aopalliance-1.0.0.jar

jar包明细如下:

commons-logging-1.1.1.jar

jstl-1.2.jar

//如果tomcat服务器不支jstl-1.2.jar标签----》请将此jar包放在tomcat的lib(apache-tomcat-7.0.57\lib)目录下

spring-aop-3.2.0.RELEASE.jar

spring-aspects-3.2.0.RELEASE.jar

spring-beans-3.2.0.RELEASE.jar

spring-context-3.2.0.RELEASE.jar

spring-context-support-3.2.0.RELEASE.jar

spring-core-3.2.0.RELEASE.jar

spring-expression-3.2.0.RELEASE.jar

spring-jdbc-3.2.0.RELEASE.jar

spring-orm-3.2.0.RELEASE.jar

spring-test-3.2.0.RELEASE.jar

spring-tx-3.2.0.RELEASE.jar

spring-web-3.2.0.RELEASE.jar

spring-webmvc-3.2.0.RELEASE.jar

================================使用非注解开发源码=====================================================

============>实体类:(pojo中的PO--->entity)

package cnssm.po;

import java.util.Date;

public class Items {

private Integer id;

private String name;

private Float price;

private String pic;

private Date createtime;

private String detail;

public Integer getId() {

return id;

}

public void setId(Integer id) {

this.id = id;

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name == null ? null : name.trim();

}

public Float getPrice() {

return price;

}

public void setPrice(Float price) {

this.price = price;

}

public String getPic() {

return pic;

}

public void setPic(String pic) {

this.pic = pic == null ? null : pic.trim();

}

public Date getCreatetime() {

return createtime;

}

public void setCreatetime(Date createtime) {

this.createtime = createtime;

}

public String getDetail() {

return detail;

}

public void setDetail(String detail) {

this.detail = detail == null ? null : detail.trim();

}

}

==========开发(contrallor)===sprngnvc(handler)==

=====(Struts1x->struts2x (Action))========================

package cn.ssm.controller;

import java.util.ArrayList;

import java.util.List;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import org.springframework.web.servlet.ModelAndView;

import org.springframework.web.servlet.mvc.Controller;

import cnssm.po.Items;

/**

*

* @author bridge

* @date 2015年11月14日

* @版本 1.1

*/

public class ItemsTest implements Controller {

@Override

public ModelAndView handleRequest(HttpServletRequest request,

HttpServletResponse response) throws Exception {

//调用service查找 数据库,查询商品列表,这里使用静态数据模拟

List<Items> itemsList = new ArrayList<Items>();

//向list中填充静态数据

Items items_1 = new Items();

items_1.setName("联想笔记本");

items_1.setPrice(6000f);

items_1.setDetail("ThinkPad T430 联想笔记本电脑!");

Items items_2 = new Items();

items_2.setName("苹果手机");

items_2.setPrice(5000f);

items_2.setDetail("iphone6苹果手机!");

itemsList.add(items_1);

itemsList.add(items_2);

//返回ModelAndView

ModelAndView modelAndView = new ModelAndView();

//相当 于request的setAttribut,在jsp页面中通过itemsList取数据

modelAndView.addObject("itemsList", itemsList);

//指定视图

modelAndView.setViewName("/WEB-INF/jsp/items/itemsList.jsp");

return modelAndView;

}

}

===================web.xml===========web3.0===如果不支持tomact6.0请使用tomcat7.0=======================

<?xml version="1.0" encoding="UTF-8"?>

<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">

<display-name>Test</display-name>

<servlet>

<servlet-name>springmvc</servlet-name>

<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>

<!-- contextConfigLocation配置springmvc加载的配置文件(配置处理器映射器、适配器等等)

如果不配置contextConfigLocation,默认加载的是/WEB-INF/servlet名称-serlvet.xml(springmvc-servlet.xml)

-->

<init-param>

<param-name>contextConfigLocation</param-name>

<param-value>classpath:springmvc.xml</param-value>

</init-param>

</servlet>

<servlet-mapping>

<servlet-name>springmvc</servlet-name>

<!--

第一种:*.action,访问以.action结尾 由DispatcherServlet进行解析

第二种:/,所以访问的地址都由DispatcherServlet进行解析,对于静态文件的解析需要配置不让DispatcherServlet进行解析

使用此种方式可以实现 RESTful风格的url

第三种:/*,这样配置不对,使用这种配置,最终要转发到一个jsp页面时,

仍然会由DispatcherServlet解析jsp地址,不能根据jsp页面找到handler,会报错。

-->

<url-pattern>*.action</url-pattern>

</servlet-mapping>

<welcome-file-list>

<welcome-file>index.html</welcome-file>

<welcome-file>index.htm</welcome-file>

<welcome-file>index.jsp</welcome-file>

<welcome-file>default.html</welcome-file>

<welcome-file>default.htm</welcome-file>

<welcome-file>default.jsp</welcome-file>

</welcome-file-list>

</web-app>

================springmvc.xml===============================>

<beans xmlns="http://www.springframework.org/schema/beans"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:mvc="http://www.springframework.org/schema/mvc"

xmlns:context="http://www.springframework.org/schema/context"

xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"

xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.2.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.2.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.2.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.2.xsd ">

<!-- 配置Handler ★★/ItemsTest.action★★cn.ssm.controller.ItemsTest=包名+类名★-->

<bean id="ItemsTest" name="/ItemsTest.action"

class="cn.ssm.controller.ItemsTest" />

<!-- 处理器映射器 将bean的name作为url进行查找 ,需要在配置Handler时指定beanname(就是url) 所有的映射器都实现

HandlerMapping接口。 -->

<bean

class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping" />

<!-- 处理器适配器 所有处理器适配器都实现 HandlerAdapter接口 -->

<bean

class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter" />

</beans>

=======================jsp页面====================================

<%@ page language="java" contentType="text/html; charset=UTF-8"

pageEncoding="UTF-8"%>

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>

<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

<title>查询商品列表</title>

</head>

<body>

<%-- ${pageContext.request.contextPath 得到根目录--%>

<form action="${pageContext.request.contextPath }/ItemsTest.action" method="post">

查询条件:

<table width="100%" border=1>

<tr>

<td><input type="submit" value="查询"/></td>

</tr>

</table>

商品列表:

<table width="100%" border=1>

<tr>

<td>商品名称</td>

<td>商品价格</td>

<td>生产日期</td>

<td>商品描述</td>

<td>操作</td>

</tr>

<c:forEach items="${itemsList }" var="item">

<tr>

<td>${item.name }</td>

<td>${item.price }</td>

<td><fmt:formatDate value="${item.createtime}" pattern="yyyy-MM-dd HH:mm:ss"/></td>

<td>${item.detail }</td>

<td><a href="${pageContext.request.contextPath }/item/editItem.action?id=${item.id}">修改</a></td>

</tr>

</c:forEach>

</table>

</form>

</body>

</html>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: