SpringMVC环境搭建及helloword程序
2015-08-20 15:32
597 查看
1.环境准备
IDE: eclipse Version: Mars Release (4.5.0)
JDK:jdk1.8.0_51
JRE:jre1.8.0_51
spring
jar包下载:http://maven.springframework.org/release/org/springframework/spring/4.1.7.RELEASE
源码下载:https://github.com/spring-projects/spring-framework/tags
jstl.jar 和standard.jar包下载:(jsp页面需要用到)
http://repo2.maven.org/maven2/javax/servlet/jstl/
http://repo2.maven.org/maven2/taglibs/standard/
common-logging (spring核心容器必须依赖common-logging jar包)
jar包下载:http://commons.apache.org/proper/commons-logging/download_logging.cgi
2. hellow word程序
需求:商品列表查询
2.1 创建一个 Dynamic Web project
2.2 添加以上的jar包
2.3 配置web.xml
2.4 对应数据库items 表格的po类Items
2.5controller程序 ItemsController
2.7 springmvc.xml配置文件
2.8部署测试
在调试窗口显示servers: windows --> show view--> servers
双击servers下的Tomcat v8.0 Server at localhost,
--> 左下角的module-->add web module,将工程添加进去
-->edit -->去掉自动加载项。
选择Tomcat v8.0 Server at localhost,右键-->debug
在浏览器栏输入:http://localhost:8080/springmvcfirst1208/queryItems.action
3.几个小错误
3.1HTTP Status 500 - Error instantiatingservlet class org.springframework.web.servlet.DispatcherServlet.class
org.springframework.web.servlet.DispatcherServlet这儿后面加了.class,复制的时候,直接在dispatcherServlet.class上选择copyQualified name,就是这么个结果org.springframework.web.servlet.DispatcherServlet.class
3.2 HTTPStatus 500 - Servlet.init() for servlet springmvc threw exception
<bean name="/queryItems.action" class="com/bupt/springmvc/controller/ItemsController"
/>
这儿class名字格式写错了。应该是下面这样的。
<bean name="/queryItems.action" class="com.bupt.springmvc.controller.ItemsController" />
IDE: eclipse Version: Mars Release (4.5.0)
JDK:jdk1.8.0_51
JRE:jre1.8.0_51
spring
jar包下载:http://maven.springframework.org/release/org/springframework/spring/4.1.7.RELEASE
源码下载:https://github.com/spring-projects/spring-framework/tags
jstl.jar 和standard.jar包下载:(jsp页面需要用到)
http://repo2.maven.org/maven2/javax/servlet/jstl/
http://repo2.maven.org/maven2/taglibs/standard/
common-logging (spring核心容器必须依赖common-logging jar包)
jar包下载:http://commons.apache.org/proper/commons-logging/download_logging.cgi
2. hellow word程序
需求:商品列表查询
2.1 创建一个 Dynamic Web project
2.2 添加以上的jar包
2.3 配置web.xml
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1"> <display-name>springMVCFirst</display-name> <!-- <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:springmvc.xml</param-value> </init-param> </servlet> --> <!-- springmvc前端控制器 --> <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> <url-pattern>*.action</url-pattern> </servlet-mapping> </web-app>
2.4 对应数据库items 表格的po类Items
package com.bupt.springmvc.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(); } }
2.5controller程序 ItemsController
package com.bupt.springmvc.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 com.bupt.springmvc.po.Items; public class ItemsController implements Controller { @Override public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception { List<Items> itemsList = new ArrayList<Items>(); 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 = new ModelAndView(); //相当 于request的setAttribut,在jsp页面中通过itemsList取数据 modelAndView.addObject("itemsList", itemsList); modelAndView.setViewName("/WEB-INF/jsp/items/itemsList.jsp"); return modelAndView; } }
</pre><pre>2.6 jsp 视图显示页面itemsList.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> <form action="${pageContext.request.contextPath }/item/queryItem.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>
2.7 springmvc.xml配置文件
<?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: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-4.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd"> <!-- 适配器 --> <bean class ="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter" /> <!-- 映射器 --> <bean class ="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"/> <!-- 视图解析器 --> <bean class ="org.springframework.web.servlet.view.InternalResourceViewResolver"/> <!-- 配置handler --> <bean name="/queryItems.action" class="com.bupt.springmvc.controller.ItemsController" /> </beans>
2.8部署测试
在调试窗口显示servers: windows --> show view--> servers
双击servers下的Tomcat v8.0 Server at localhost,
--> 左下角的module-->add web module,将工程添加进去
-->edit -->去掉自动加载项。
选择Tomcat v8.0 Server at localhost,右键-->debug
在浏览器栏输入:http://localhost:8080/springmvcfirst1208/queryItems.action
3.几个小错误
3.1HTTP Status 500 - Error instantiatingservlet class org.springframework.web.servlet.DispatcherServlet.class
<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>
</pre><pre name="code" class="html" style="color: rgb(73, 73, 73); line-height: 18px;">
org.springframework.web.servlet.DispatcherServlet这儿后面加了.class,复制的时候,直接在dispatcherServlet.class上选择copyQualified name,就是这么个结果org.springframework.web.servlet.DispatcherServlet.class
3.2 HTTPStatus 500 - Servlet.init() for servlet springmvc threw exception
<bean name="/queryItems.action" class="com/bupt/springmvc/controller/ItemsController"
/>
这儿class名字格式写错了。应该是下面这样的。
<bean name="/queryItems.action" class="com.bupt.springmvc.controller.ItemsController" />
相关文章推荐
- JAVA实现百度OCR文字识别功能
- Java正则表达式
- spring data jpa + hibernate
- 深复制和浅复制
- 在Spring中使用Quartz任务调度支持集群
- Mybatis 报无效的列类型 两种解决办法
- Struts2的Annotation使用
- 验证签名机制——java示例
- 使用eclipse开发web项目中常见的中文乱码问题总结
- An error has occurred. See error log for more details. java.lang.NullPointerException
- JAVA缓存技术
- setInterval()和setTimeout()
- Eclipse 一直提示 loading descriptor for xxx 的解决方法
- MyEclipse10破解后将工程导成war包时报错
- Maven学习总结(七)——eclipse中使用Maven创建Web项目
- Java之观察者模式(Observer Pattern)
- SpringMVC入门----阿冬专栏
- Maven学习总结(六)——Maven与Eclipse整合
- spark-eclipse开发环境搭建
- 折半查找