从零开始搭建SpringMVC框架以及最简单的 Hello World 实例

来源:互联网 发布:电工仿真软件下载 编辑:程序博客网 时间:2024/06/05 02:16

从零开始搭建SpringMVC框架以及最简单的 Hello World 实例

目录(?)[+]

  1. 1Java环境要求
  2. 2安装eclipse
  3. tomcat
  4. mysql
  5. Dynamic Web Project

1Java环境要求:

1.1JDK 1.6

下载的是:jdk1.6.0_45-windows-x64.exe

安装路径:


将JDK下载后解压,我的解压路径是:C:\Program Files (x86)\Java

添加环境变量,

A、属性名称:JAVA_HOME

属性值:C:\Program\Files\Java\jdk1.6.0_02

B、属性名称:PATH

属性值:;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin

C、属性名称:CLASSPATH

属性值:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar

注意要加.表示当前路径,另外,%JAVA_HOME%就是引用前面指定的JAVA_HOME


添加JAVA_HOME,


然后继续新建CLASSPATH和Path环境变量:

别忘了最后有个点号,表示当前路径

在Path环境变量后面添加


至此,Java JDK算是配置好了。


2安装eclipse

注意JDK 和 eclipse的版本和电脑上操作系统的版本关系不大,

主要是JDK和eclipse要求是同一版本,要么都是32位,要么都是64位,

否则启动eclipse会出错。

我下载的是:eclipse-jee-luna-SR1a-win32_20150313.zip

直接解压就可以用了。解压目录:


双击.exe可执行文件即可打开eclipse。


3.tomcat

服务器 tomcat 6.0  

下载apache-tomcat-6.0.43.tar.gz

直接解压即可使用,不用安装,解压目录:


环境变量的配置与JDK一样,在环境变量中添加tomcat路径就好:

CATALINA_BASE=H:\apache-tomcat-6.0.43
CATALINA_HOME=H:\apache-tomcat-6.0.43


接下来在eclipse中配置tomcat:

添加新的Server运行时配置。点击Eclipse菜单,【Window】/【Preferences】,展开【Server】/【Runtime Environments】,


这样,tomcat就配置好了。


4.mysql

接下来开始安装数据库

先下载.zip版本,直接解压就可以了:MySQL-5.6.26-winx64.zip

下载后解压即可,解压路径: H:\mysql

接下来修改配置文件my-default.ini


环境变量中,在Path后面增加mysql路径

免得每次执行bin目录下的命令都要输入全路径。

接下来检测数据库是否安装成功:

在管理员模式下运行cmd:

进入mysql/bin目录下,执行命令 mysqld  -install

这样就可以启动mysql,接着执行命令:net start mysql 来连接数据库:



连接成功后输入命令:mysql -u root -p 

就会以根用户身份进入数据库,默认密码为空,直接按回车即可



输入命令:show databases; 可以查看数据库

输入命令:use test; 表示使用test数据库

并用create命令在test数据库中新建了一张表,

表的名称为YY,分别有3个字段,id, name ,mail.

注意: 1 database是复数, 2 每一条sql语句都要以英文的分号“;”结束。



往YY表中用insert int 语句插入一条记录:

再用select语句查询:


这样,说明数据库已经安装成功,并能正常使用。


在命令行模式下管理数据库的话明显不太方便,

接下来可以下载一个有UI来管理mysql的软件:navigate

下载软件: Navicat for MySQL.rar

按照提示安装完毕后,运行navigate即可。


首先新建一个连接,然后设置好主机和端口号等。


接下来可以在navigate里面来管理数据库了:


在上面可以清晰的看到数据库里的数据。

也可以直接在上面修改数据,添加数据等操作。

至此,数据库就安装好了。


那接下来就是在eclipse中连接mysql

首先需要下载mysql的驱动 mysql-connector-java,之后才可以顺利使eclipse连接到数据库

在mysql 官网中只有.mis, 个人偏向于 .zip版本,在CSDN即可下载,

下载:mysql-connector-java-5.1.5.ZIP,然后直接解压即可。

里面有一个jar包:mysql-connector-java-5.1.5-bin.jar

这是eclipse用来连接mysql必须要的jar包驱动。


把这个jar包放到tomcat安装目录里面common/lib下

之后等工程建好后再把jar包添加进去就好了。

这样软件方面就基本配置好了。


可以准备创建工程,搭建框架来实现hello world了


5.Dynamic Web Project

接下来就开始新建一个Dynamic Web Project

直接new一个就好了,这里工程命名为springmvc.

点击finish一个工程就建好了。

目录如下:



接下来把上一步中的mysql-connectro-java-5.1.5-bin.jar 

复制到WEB-INF/lib 目录下


然后选中工程名称,鼠标右键,在最下面选择properties -> java build path ->Library -> Add Library -> User Library ->Add External JARs…




这样就把mysql 和 eclipse的驱动连接好了。

剩下的就是在配置文件里设置好连接参数,eclipse就可以访问数据库了。

到这里,我们就把Java环境,eclipse,mysql,tomcat配置好了。


6.SpringMVC 框架

接下来就是开始搭建简单的SpringMVC框架了

首先需要准备好 jar包


将这些jar包复制到 WEB-INF/lib目录下,

接着在WebContent目录下新建一个index.jsp文件

[html] view plain copy
print?
  1. <%@ page language=“java” contentType=“text/html; charset=ISO-8859-1”  
  2.     pageEncoding=“ISO-8859-1”%>  
  3. <!DOCTYPE html PUBLIC ”-//W3C//DTD HTML 4.01 Transitional//EN” “http://www.w3.org/TR/html4/loose.dtd”>  
  4. <html>  
  5. <head>  
  6.  <title>Spring 3.0 MVC demo</title>  
  7. </head>  
  8. <body>  
  9.  <a href=“hello.html”>Say Hello</a>  
  10. </body>  
  11. </html>  
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"    pageEncoding="ISO-8859-1"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head> <title>Spring 3.0 MVC demo</title></head><body> <a href="hello.html">Say Hello</a></body></html>


在WEB-INF目录下新建两个配置文件,分别是web.xml 和 spring-servlet.xml

web.xml文件代码如下:

[html] view plain copy
print?
  1. <?xml version=“1.0” encoding=“UTF-8”?>  
  2. <web-app version=“2.5” xmlns=“http://java.sun.com/xml/ns/javaee”  
  3.     xmlns:xsi=“http://www.w3.org/2001/XMLSchema-instance”  
  4.     xsi:schemaLocation=“http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd”>  
  5.    
  6.     <display-name>Spring3MVC</display-name>  
  7.     <servlet>  
  8.           
  9.         <servlet-name>spring</servlet-name>  
  10.         <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>  
  11.         <!– load-on-startup:表示启动容器时初始化该Servlet; –>  
  12.         <load-on-startup>1</load-on-startup>  
  13.     </servlet>  
  14.    
  15.     <servlet-mapping>  
  16.         <servlet-name>spring</servlet-name>  
  17.         <!– url-pattern:表示哪些请求交给Spring Web MVC处理, “/” 是用来定义默认servlet映射的。 –>  
  18.         <!– 也可以如“*.html”表示拦截所有以html为扩展名的请求。 –>  
  19.         <url-pattern>/</url-pattern>  
  20.      </servlet-mapping>  
  21.    
  22.      <welcome-file-list>  
  23.         <welcome-file>index.jsp</welcome-file>  
  24.     </welcome-file-list>  
  25.    
  26.     <!– 自此请求已交给Spring Web MVC框架处理,因此我们需要配置Spring的配置文件, –>  
  27.     <!– 默认DispatcherServlet会加载WEB-INF/[DispatcherServlet的Servlet名字,也就是上面的spring]-servlet.xml配置文件。 –>  
  28.     <!– 即spring-servlet.xml –>  
  29.    
  30. </web-app>  
<?xml version="1.0" encoding="UTF-8"?><web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">    <display-name>Spring3MVC</display-name>    <servlet>        <servlet-name>spring</servlet-name>        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>        <!-- load-on-startup:表示启动容器时初始化该Servlet; -->        <load-on-startup>1</load-on-startup>    </servlet>    <servlet-mapping>        <servlet-name>spring</servlet-name>        <!-- url-pattern:表示哪些请求交给Spring Web MVC处理, “/” 是用来定义默认servlet映射的。 -->        <!-- 也可以如“*.html”表示拦截所有以html为扩展名的请求。 -->        <url-pattern>/</url-pattern>     </servlet-mapping>     <welcome-file-list>        <welcome-file>index.jsp</welcome-file>    </welcome-file-list>    <!-- 自此请求已交给Spring Web MVC框架处理,因此我们需要配置Spring的配置文件, -->    <!-- 默认DispatcherServlet会加载WEB-INF/[DispatcherServlet的Servlet名字,也就是上面的spring]-servlet.xml配置文件。 -->    <!-- 即spring-servlet.xml --></web-app>



spring-servlet.xml代码如下:

 

[html] view plain copy
print?
  1. <?xml version=“1.0” encoding=“UTF-8”?>  
  2. <beans xmlns=“http://www.springframework.org/schema/beans”  
  3.  xmlns:xsi=“http://www.w3.org/2001/XMLSchema-instance”  
  4.  xmlns:p=“http://www.springframework.org/schema/p”  
  5.  xmlns:context=“http://www.springframework.org/schema/context”  
  6.  xsi:schemaLocation=”http://www.springframework.org/schema/beans  
  7.   http://www.springframework.org/schema/beans/spring-beans-3.0.xsd  
  8.   http://www.springframework.org/schema/context  
  9.   http://www.springframework.org/schema/context/spring-context-3.0.xsd”>  
  10.      
  11.  <context:component-scan base-package=“net.spring.controller” />  
  12.    
  13. <!– 在Spring配置文件中配置ViewResolver –>  
  14. <!– InternalResourceViewResolver:用于支持Servlet、JSP视图解析;  
  15.      viewClass:JstlView表示JSP模板页面需要使用JSTL标签库,classpath中必须包含jstl的相关jar包;  
  16.      prefix和suffix:查找视图页面的前缀和后缀(前缀[逻辑视图名]后缀),  
  17.      比如传进来的逻辑视图名为hello,则该该jsp视图页面应该存放在“WEB-INF/jsp/hello.jsp”;    –>  
  18.     <bean id=“viewResolver”  
  19.         class=“org.springframework.web.servlet.view.UrlBasedViewResolver”>  
  20.         <property name=“viewClass”  
  21.         value=“org.springframework.web.servlet.view.JstlView” />  
  22.         <property name=“prefix” value=“/WEB-INF/jsp/” />  
  23.         <property name=“suffix” value=“.jsp” />  
  24.     </bean>  
  25. </beans>  
<?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" 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"> <context:component-scan base-package="net.spring.controller" /><!-- 在Spring配置文件中配置ViewResolver --><!-- InternalResourceViewResolver:用于支持Servlet、JSP视图解析;     viewClass:JstlView表示JSP模板页面需要使用JSTL标签库,classpath中必须包含jstl的相关jar包;     prefix和suffix:查找视图页面的前缀和后缀(前缀[逻辑视图名]后缀),     比如传进来的逻辑视图名为hello,则该该jsp视图页面应该存放在“WEB-INF/jsp/hello.jsp”;    -->    <bean id="viewResolver"        class="org.springframework.web.servlet.view.UrlBasedViewResolver">        <property name="viewClass"        value="org.springframework.web.servlet.view.JstlView" />        <property name="prefix" value="/WEB-INF/jsp/" />        <property name="suffix" value=".jsp" />    </bean></beans>



在jsp目录下新建一个hello.jsp 文件

[html] view plain copy
print?
  1. <pre name=“code” class=“java”><%@ page language=“java” contentType=“text/html; charset=ISO-8859-1”  
  2.     pageEncoding=“ISO-8859-1”%>  
  3. <%@ taglib prefix=“c” uri=“http://java.sun.com/jsp/jstl/core” %>  
  4. <!DOCTYPE html PUBLIC ”-//W3C//DTD HTML 4.01 Transitional//EN”  
  5.  “http://www.w3.org/TR/html4/loose.dtd”>  
  6. <html>  
  7. <head>  
  8. <meta http-equiv=“Content-Type” content=“text/html; charset=ISO-8859-1”>  
  9. <title>Spring mvc demo</title>  
  10. </head>  
  11. <body>  
  12. <p> This is my message: ${message} </p>  
  13. </body>  
  14. </html>  
<pre name="code" class="java"><%@ page language="java" contentType="text/html; charset=ISO-8859-1"    pageEncoding="ISO-8859-1"%><%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %><!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=ISO-8859-1"><title>Spring mvc demo</title></head><body><p> This is my message: ${message} </p></body></html>


在Java Resources资源文件夹下新建一个包:net.spring.controller,

在包目录下新建一个HelloWorldController.java文件

代码如下:

[java] view plain copy
print?
  1. package net.spring.controller;  
  2.    
  3. import org.springframework.stereotype.Controller;  
  4. import org.springframework.web.bind.annotation.RequestMapping;  
  5. import org.springframework.web.servlet.ModelAndView;  
  6.    
  7. @Controller  
  8. public class HelloWorldController {  
  9.    
  10.  @RequestMapping(“/hello”)  
  11.  public ModelAndView helloWorld() {  
  12.    
  13.   String me = ”Hello World, Spring 3.0!”;  
  14.   //ModelAndView: 包含了试图要实现的模型数据和逻辑视图名  
  15.   //message 为数据的名称,在视图中用来引用的名字  
  16.   //me 是对应的值  
  17.   //hello 是对应视图的名字。  
  18.   ModelAndView modelAndView = new ModelAndView();  
  19.   modelAndView.addObject(”message”, me);  
  20.   modelAndView.setViewName(”hello”);  
  21.   return modelAndView;  
  22.     
  23.   //以上4个语句相当于一下一句:  
  24.   //return new ModelAndView(“hello”,”message”,me);  
  25.  }  
  26. }  
package net.spring.controller;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.servlet.ModelAndView;@Controllerpublic class HelloWorldController { @RequestMapping("/hello") public ModelAndView helloWorld() {  String me = "Hello World, Spring 3.0!";  //ModelAndView: 包含了试图要实现的模型数据和逻辑视图名  //message 为数据的名称,在视图中用来引用的名字  //me 是对应的值  //hello 是对应视图的名字。  ModelAndView modelAndView = new ModelAndView();  modelAndView.addObject("message", me);  modelAndView.setViewName("hello");  return modelAndView;  //以上4个语句相当于一下一句:  //return new ModelAndView("hello","message",me); }}


最后,整个工程的目录是这样子的:



这样,框架就已经搭好了,并且可以实现在本地服务器tomcat运行该项目。

开始运行时,选择该项目,鼠标右键,选择Run As —> Run On Server

然后选择



这样就可以允许项目了。

在浏览器中输入地址:http://localhost:8080/springmvcdemo/

就可以看到index.jsp 渲染的欢迎界面:


点击 Say Hello 超链接,就可以跳转到 hello.jsp页面了


到这里,我们的项目就基本成功了。

现在hello world只实现了基于简单的SpringMVC框架来实现web访问,后续可以加上数据库的访问。



原创粉丝点击