环境准备

eclipse
jdk1.8
tomcat 7

步骤总纲

 
    a.准备好开发环境
    b.下载相关jar包
    c.在eclipse 中创建好工程
    d.引进下载的jar 包
    e.配置xml文件
    f.编写代码及测试
 

弹簧mvc相关jar包

jsp,servelet相关jar包

创建工程及导入jar包

在项目浏览器中右键 - >新建 - >动态Web项目

有时候可能你的工作空间中并没有创建过类似的工程,所以在新的子菜单中并没有Dynamic Web Project,
那么你可以点其他,然后在弹出的对话框中找到Web,打开其折叠的项目可以找到Dynamic Web Project。

选择Dynamic Web Project后会有对话框弹出,对话框主要是设置一下工程的基础东西,如工程名,web服务器tomcat 
之类的,本例子采用eclipse集成的tomcat 7(如何把tomcat 7集成到eclipse中网上有很多教程,也很简单,相信你搜一下就可以知道了)。

填好之后可以直接finish,我得到的目录是如下所示。

然后,将下载到的所需要的jar包全部放到WebContent / WEB-INF / lib中去,
然后选中工程 - >右键 - >刷新,刷新一下,就可以看到jar包自动配到环境路径中了。

接下来是xml的配置文件,本例只需要配置两个xml文件。一个是web.xml,这是所有web项目都需要配置的;另一个是spring相关所需要配置文件,我这里将其命名为spring-mvc.xml,当然你也可以叫其他名字,只要在相应配置的地方别把你起的名字搞错就行了。
 
web.xml这个文件是放到WebContent / WEB-INF /路径下的。

web.xml中的内容如下

<?xml version =“1.0”encoding =“UTF-8”?>
<web-app version = “3.0”
     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
<! - 配置springmvc的核心分发器 - > 
的<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:spring  -  *。xml </ param-value>
    </ INIT-param>
    <load-on-startup>1</load-on-startup>
</servlet>
<!--核心分发器  要拦截哪些url --> 
<servlet-mapping>
    <servlet-name>springMVC</servlet-name>
    <url-pattern>*.do</url-pattern>
</servlet-mapping>
     
</web-app>
首先注意到 version="3.0" , 
这是我创建工程 的时候有相关选项,这里得跟那个选择对应。
<!--有哪些文件是要跟着一起初始化的 -->
    <init-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>classpath:spring-*.xml </param-value>
    </init-param>
这个的意思就是有哪些配置文件要在启动时跟着初始化的,当然我们的另一个xml文件也是要初始化的。但是web容器的入口就是web.xml,其他的xml你不跟它说,它是不不知道的。所以在此告知我们src下的长得像spring  -  *。xml这样的文件也要初始化。前面我也说过,spring-mvc.xml这个文件名是我我自行起的,你可以别别的名字,在web.xml中能清楚告诉人家你的叫什么就行了。
 
spring-mvc .xml是放到src下的

其内容为

<?xml version =“1.0”encoding =“UTF-8”?>
    xmlns:xsi =“ http://www.w3.org/2001/XMLSchema-instance
    xmlns:context =“ http://www.springframework.org/schema/context
    xmlns:jdbc =“ http://www.springframework.org/schema/jdbc”  
    xmlns:jee =“ http://www.springframework.org/schema/jee
    xmlns:tx =“ http://www.springframework.org/schema/tx
    xmlns:aop =“ http://www.springframework.org/schema/aop
    xmlns:mvc =“ http://www.springframework.org/schema/mvc
    xmlns:util =“ http://www.springframework.org/schema/util
    的xsi:的schemaLocation =”
 
   <!-- 开启注解 -->
   <mvc:annotation-driven/>
   
    <!-- 扫描哪些包-->
   <context:component-scan base-package="com.hlm"/>
    
    <!-- 配置视图解析器 -->
     <!--prefix和suffix:查找视图页面的前缀和后缀(前缀[逻辑视图名]后缀),
        比如传进来的逻辑视图名为WEB-INF/jsp/index,则该jsp视图页面应该存放在“WEB-INF/jsp/hello.jsp”; -->
     <bean class="org.springframework.web.servlet.view.UrlBasedViewResolver">
        <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"></property>
        <property name="prefix" value="/WEB-INF/jsp/"/>
        <property name="suffix" value=".jsp"/>
   </bean>
</豆>

注意,我用到的弹簧版本为4.3所以在该文件开头对应地方也是对应着我4.3的版本。如果你的弹簧是其他版本,请对应到你的版本上去。这些都是网上对应的文本,你不确定你写的是不是真有其文件的时候可以复制网址打开浏览器查询一下就知道了

创建所需要的包及文件。我创建了两个包:com.hlm.command,com.hlm.controller及一个文件夹jsp

分别创建两个类

/ **
 * <p>
 * <ul> 用户:对应hlm_users表的实体</ ul>
 * <li> userName:用户姓名</ li>
 * <li> 性别:性别0表示女,1表示男</ li>
 * <li> 令牌:注册令牌,手机或邮箱</ li>
 * <li> tokenType:令牌类型.0为手机,1为邮箱</ li>
 * <li> 密码:密码</ li>
 * </ p>
 * @author hlm
 *
 * /
公共 UsersCommand {
     私人 字符串 用户名 ;
     私人 整数 性 ;
     私人 字符串 令牌 ;
     私人 整数 tokenType ;
     私人 字符串 密码 ;
     
     public UsersCommand(){
           
     }
     public UsersCommand(String userName ,Integer sex ,String token ,
                           整数 tokenType ,字符串 密码){
           这个。userName = userName ;
           这个。性别 = 性别;
           这个。标记 = 标记;
           这个。tokenType = tokenType ;
           这个。密码 = 密码;
     }
     public String getUserName(){
           返回 用户名;
     }
     public void setUserName(String userName ){
           这个。userName = userName ;
     }
     public Integer getSex(){
           返回 性别;
     }
     public void setSex(Integer sex ){
           这个。性别 = 性别;
     }
     public String getToken(){
           返回 令牌;
     }
     public void setToken(String token ){
           这个。标记 = 标记;
     }
     public Integer getTokenType(){
           返回 tokenType ;
     }
     public void setTokenType(Integer tokenType ){
           这个。tokenType = tokenType ;
     }
     public String getPassword(){
           返回 密码;
     }
     public void setPassword(String password ){
           这个。密码 = 密码;
     }          
}
com.hlm.controller;
import javax.servlet.http.HttpServletRequest;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
@Controller
公共 UsersController {
           
     @RequestMapping (“/sigup.do” )                                                               
     public ModelAndView sigup(HttpServletRequest req ){
            ModelAndView mv = new ModelAndView();
           
           UsersCommand cmd = new UsersCommand(“小明” ,0,“ admin@hlm.com ” ,1,“123456” );
        
            req .getSession()。setAttribute(“user” , cmd );
            mv .addObject(“password” , cmd .getPassword());
            mv .addObject(“userName” , cmd .getUserName());
            系统。out .println(cmd .getPassword());
            mv .setViewName(“index” );
        返回 mv ;
     }
}

两个页面相关的文件如下

<!DOCTYPE html>
< html >
< head >
< meta charset = “UTF-8” >
< title > 登录页面</ title >
</ head >
< body >
< 一个 HREF = “sigup.do” > 点我登录</ 一>
</ body >
</ html >
<%@ page language = “java” contentType = “text / html; charset = utf-8”
    pageEncoding = “utf-8”%>
<!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 >
  < p > $ {密码} </ p >
  < p > $ {userName} </ p >
</ bod>
所有的配置及代码都写好之后,准备部署到tomcat让它跑起来了。
找到如下位置,点击蓝色英文字来创建服务器 

如果在整个eclipse版面中你没有找到上面的Servers那么你可以到Window  - > Show View  - > Servers中将其找出来。

点击创建服务后,会出现如下弹窗。选择你在eclipse中配的tomcat就好了,我这里配的是tomcat 7。

创建之后还需要设置一下。

然后将我们的工程添加到这个服务上去。

启动成功之后,打开浏览器。我用的是默认端口:8080,如果你改变自己tomcat的端口,对应输入自己的就行了,然后后面是工程的名字。
回车之后就是默认的首页WebContent / index.html。点击“点我登录”,应该跳转到WebContent / WEB-INF / index.jsp。

有时候,如果你视图解析的地方如果配得不正确,它有可能找不到你的jsp的地址

git代码地址:https://github.com/mottohlm/springmvctest

手把手实战:eclipse 搭建 SpringMvc 框架环境的更多相关文章

  1. 手把手教你搭建SSH框架(Eclipse版)

    原文来自公众号[C you again],若需下载完整源码,请在公众号后台回复"ssh". 本期文章详细讲解了SSH(Spring+SpringMVC+Hibernate)框架的搭 ...

  2. AI应用开发实战 - 从零开始搭建macOS开发环境

    AI应用开发实战 - 从零开始搭建macOS开发环境 本视频配套的视频教程请访问:https://www.bilibili.com/video/av24368929/ 建议和反馈,请发送到 https ...

  3. 脚手架快速搭建springMVC框架项目

    apid-framework脚手架快速搭建springMVC框架项目   rapid-framework介绍:   一个类似ruby on rails的java web快速开发脚手架,本着不重复发明轮 ...

  4. Jdk1.7+eclipse搭建Java开发环境

    Jdk1.7+eclipse搭建Java开发环境 1.    下载jdk1.7 http://www.oracle.com/technetwork/java/javase/downloads/jdk7 ...

  5. 搭建springmvc框架的另一种思路

    在一个完整的项目里搭建springmvc框架的时候, 通常情况下,初学者在配置的时候,总是会把"中央控制器的名字"-servlet.xml文件放到/Webroot/WEB-INF下 ...

  6. 使用Eclipse搭建JavaWeb开发环境的几个基本问题

    Eclipse搭建JavaWeb开发环境 eclipse是一个用于java程序开发的ide软件,tomcat是一个运行javaweb应用的服务器软件,使用eclipse开发javaweb应用的时,首要 ...

  7. Vue nodejs商城项目-搭建express框架环境

    1.express-project 搭建express框架环境 安装express generator生成器 通过生成器自动创建项目 配置分析 安装 cnpm i -g express-generat ...

  8. 大师养成计划之一:搭建springmvc框架

    搭建spring-mvc框架 搭建spring-mvc框架步骤: 1.搭建web项目spring-mvc1 2.引入jar包 3.配置web.xml 3.1拷贝头文件: <web-app xml ...

  9. 项目一:项目第二天 Jquery ztree使用展示菜单数据 2、 基础设置需求分析 3、 搭建项目框架环境--ssh(复习) 4、 SpringData-JPA持久层入门案例(重点) 5、 Easyui menubutton菜单按钮使用 6、 Easyui messager消息框使用

    1. Jquery ztree使用展示菜单数据 2. 基础设置需求分析 3. 搭建项目框架环境--ssh(复习) 4. SpringData-JPA持久层入门案例(重点) 5. Easyui menu ...

随机推荐

  1. 【学习笔记】JS设计模式总结

    前言:这段时间都在学习Vue的知识,虽然手边放着一本js高程,但确实好久没有好好复习了.温故而知新,因此特意把JS常见的设计模式总结,希望对大家有所帮助... 1. 工厂模式 释义:像工厂一样流水线般 ...

  2. SQL 行转列示例

    --油表 select (select SUM(XiaoHaoLiang)as'油表消耗总值' FROM dbo.NengHaoYouBiao WHERE CaiJiRiQi between '201 ...

  3. MVC分部视图@Html.Partial

    加载分布视图的方式: //1.以视图名使用当前文件夹下的视图(如果没有找到,则搜索 Shared 文件夹) @Html.Partial("_test") //加载对应文件 /Vie ...

  4. 【手记】.net正则行尾匹配符$的问题

    本来想用正则Split一下sql语句中简单场景的的GO,于是用^GO$(配合忽略大小写和多行模式),可居然连这种情况都搞不掂: go 如果删掉$就能匹配了,但这显然不是办法,遂又在VS的C#交互窗口. ...

  5. LeetCode 任务调度器-Python3<八>

    题目:https://leetcode-cn.com/problems/task-scheduler/description/ 给定一个用字符数组表示的 CPU 需要执行的任务列表.其中包含使用大写的 ...

  6. WebForm 【Repeater】展示数据

       在 Webform 数据展示中      界面层  : HTLM 业务逻辑层 :只能用 C#  Repeater    重复器  能够用来循环展示数据 具有5种模板  HeaderTemplat ...

  7. [PHP]算法-替换空格的PHP实现

    替换空格: 请实现一个函数,将一个字符串中的每个空格替换成“%20”.例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy. 思路: 1.先循环一遍,找出 ...

  8. JavaScript类继承

    和其他功能一样,ECMAScript 实现继承的方式不止一种.这是因为 JavaScript 中的继承机制并不是明确规定的,而是通过模仿实现的.这意味着所有的继承细节并非完全由解释程序处理.作为开发者 ...

  9. 【Java】包,jar包的扫描

    包扫描在框架中应用很广泛,在spring中,通过给自己的类加注解的方式,利用spring的包扫描,完成依赖注入. package com.test.package_scanner.core; impo ...

  10. 洛谷P2572 [SCOI2010]序列操作(ODT)

    题解 题意 题目链接 Sol ODT板子题..... // luogu-judger-enable-o2 #include<bits/stdc++.h> #define LL long l ...