1 springMVC的搭建肯定是需要用到一系列的jar包的,那么第一步就是去spring官网下载对应版本的jar包 可以通过 http://www.cnblogs.com/imentors/p/4991522.html 下载对应的jar包

2. spring浏览器访问数据的过程:

(浏览器) http--dispatcherServlet--handlerMapping--controller--返回modelAndView--Model(实体类 也就是在jsp中展示的内容)--view(jsp)--http(浏览器)

3.
   DispatcherServlet接口:Spring提供的前端控制器,所有的请求都有经过它来统一分发。在DispatcherServlet将请求分发给Spring Controller之前,需要借助于Spring提供的HandlerMapping定位到具体的Controller。

   HandlerMapping接口:能够完成客户请求到Controller映射

   Controller接口:需要为并发用户处理上述请求,因此实现Controller接口时,必须保证线程安全并且可重用。Controller将处理用户请求 (也就是后台逻辑,通过jsp传过来的参数从数据库获取数据返回给jsp)

4. 
  项目目录    resource是 直接项目右击--new--Source Folder

我们要把jar包导入到项目中/WEB-INF/lib下    spring开头jar包都能在第一步中找到,但我们还需要commons-loggingjar包 否则会报Caused by: java.lang.NoClassDefFoundError: Lorg/apache/commons/logging/Log;
   同时为了能看到项目的详细信息,我们要加上log4j.jar包,打印日志, 还要加上jstl.jar包 如果不加那么当从后台到jsp的时候会报错

5.
首先在web.xml中配置DispatcherServlet

<servlet>
    <servlet-name>spring</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <!-- 去加载指导的配置文件 如果没有就去加载/WEB-INF/applicationContext.xml配置文件  classpath:就可以读取resource下的资源文件-->
    <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>classpath:spring-mvc.xml</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
  </servlet>

<!--浏览器--http请求--tomcat容器--减去url的上下文路径作为servlet的映射url

例:localhost:8080/test/login  上下文是localhost:8080/test 所以servlet的映射url就是 /login 然后通过servlet-name去找到上面的DispatcherServlet --handlerMapping--controller(对应的后台方法) -->

<servlet-mapping>
    <servlet-name>spring</servlet-name>
    <url-pattern>/</url-pattern>
  </servlet-mapping>
 
 <!-- 我们登陆时的首页 localhost:8080/demo/--> 一定要在项目名后面加‘/’ 因为我们在  <servlet-mapping>中配置的url-pattern是'/'  会自动找到login.jsp页面
  <welcome-file-list>
    <welcome-file>/login.jsp</welcome-file>
  </welcome-file-list>

<!--日志配置 -->
<context-param>
  <param-name>log4jConfigLocation</param-name>
  <param-value>
    classpath:log4j.properties
  </param-value>
  </context-param>
<listener>
  <listener-class>

    org.springframework.web.util.Log4jConfigListener                     -->这个jar如下图

  </listener-class>
</listener>

spring 配置文件  spring-mvc.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:mvc="http://www.springframework.org/schema/mvc"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:aop="http://www.springframework.org/schema/aop"
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
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd">

<!--相当于注册了DefaultAnnotationHandlerMapping和AnnotationMethodHandlerAdapter两个bean,配置一些messageconverter。即解决了@Controller注解的使用前提配置。 --> 

<mvc:annotation-driven/>

<!-- 自动扫描且是实现bean的自动注入 -->
<context:component-scan base-package="com.springmvc" />

<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver" >
  <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"></property>
  <property name="prefix" value="/WEB-INF/views/"></property>
  <property name="suffix" value=".jsp"></property>
</bean>

<!-- 下面这段话的意思是我们可以通过${} 来获取classpath:dbconfig.properties中的值  下面mysqlDataSource用到了-->
<context:property-placeholder ignore-unresolvable="true" location="classpath:dbconfig.properties"/>

<!--

这里使用的是阿里巴巴的数据库连接jar包 包的名字是druid .jar  -->
<bean id="mysqlDataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close">
  <property name="driverClassName"> <value>${db.dirverClass}</value> </property>
  <property name="url" > <value>${db.url}</value> </property>
  <property name="username" > <value>${db.username}</value> </property>
  <property name="password" > <value>${db.password}</value> </property>
</bean>

</beans>

log4j.properties  这个直接复制就行(开始学习没必要那么精细,如有需要可以去学习每个参数的含义)

log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern= %d %p [%c] - <%m>%n

#logfile configure
log4j.appender.logfile=org.apache.log4j.DailyRollingFileAppender
log4j.appender.logfile.File=${webapp.root}/WEB-INF/logs/ssm.log
#log4j.appender.logfile.File=/WEB-INF/logs/ssm.log
#\u65E5\u5FD7\u6587\u4EF6\u7684\u8DEF\u5F84\u548C\u540D\u79F0
#log4j.appender.R.File=./../logs/ssm.log
log4j.appender.logfile.MaxFileSize=10M
log4j.appender.logfile.MaxBackupIndex=100
log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
log4j.appender.logfile.layout.ConversionPattern= %d %p [%c] - <%m>%n

#debug log for spring
log4j.logger.org.springframework=DEBUG

# debug log for ibatis
log4j.logger.java.sql.Connection=DEBUG
log4j.logger.java.sql.Statement=DEBUG
log4j.logger.java.sql.PreparedStatement=DEBUG

这样 spring的基本配置就完毕了     下面是一个测试   就是从前台页面发送一个请求到后台controller 然后再回到另一个jsp

1). 我们webContent 路径下直接创建一个login.jsp 直接写一个form

<form action="/login" method="post">
  <br />姓名: <input type="text" name="userName"> <br />

  <br />密码: <input type="text" name="password"> <br />

<input type="submit" value="登录">

</form>

2) 这个里面有3个字段  name,age,teacher   那么创建一个model类   里面加4个字段

private String userName;
private String password;

3) 当点击提交的时候会在后台的controller中寻找 bean(自动注入的) 为   /login 的controller

所以我们要写一个方法 在LoginController中

然后再springmvc 中配置的

<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver" >
  <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"></property>
  <property name="prefix" value="/WEB-INF/views/"></property>
  <property name="suffix" value=".jsp"></property>
</bean>

我们在views目录下 创建两个jsp success.jsp和test.jsp

然后启动服务  http://localhost:8080//SpringMVC/       这个后面一定要加上/ 否则会404  因为在上面web.xml中配置的

后台dubug 发现走到了后台 而且User中也获取到了 前台传递的值

最后会跳转到success.jsp中

springmvc的基本配置 就完了

spirngMVC的搭建的更多相关文章

  1. Spring+Mybatis+SpringMVC+Maven+MySql搭建实例

    林炳文Evankaka原创作品.转载请注明出处http://blog.csdn.net/evankaka 摘要:本文主要讲了如何使用Maven来搭建Spring+Mybatis+SpringMVC+M ...

  2. Springboot搭建SSM+JSP的web项目

    Springboot搭建SSM+JSP的web项目 一:创建项目结构: 项目结构分为三个部分: 1 后端项目开发文件: 包: Util         工具包 Mapper      db层 Serv ...

  3. 【转】Spring+Mybatis+SpringMVC+Maven+MySql搭建实例

    林炳文Evankaka原创作品.转载请注明出处http://blog.csdn.net/evankaka 摘要:本文主要讲了如何使用Maven来搭建Spring+Mybatis+SpringMVC+M ...

  4. Online Judge(OJ)搭建(第一版)

    搭建 OJ 需要的知识(重要性排序): Java SE(Basic Knowledge, String, FileWriter, JavaCompiler, URLClassLoader, Secur ...

  5. Angular2入门系列教程1-使用Angular-cli搭建Angular2开发环境

    一直在学Angular2,百忙之中抽点时间来写个简单的教程. 2016年是前端飞速发展的一年,前端越来越形成了(web component)组件化的编程模式:以前Jquery通吃一切的田园时代一去不复 ...

  6. 总结:Mac前端开发环境的搭建(配置)

    新年新气象,在2016年的第一天,我入手了人生中第一台自己的电脑(大一时好友赠送的电脑在一次无意中烧坏了主板,此后便不断借用别人的或者网站的).macbook air,身上已无分文...接下来半年的房 ...

  7. Angular企业级开发(5)-项目框架搭建

    1.AngularJS Seed项目目录结构 AngularJS官方网站提供了一个angular-phonecat项目,另外一个就是Angular-Seed项目.所以大多数团队会基于Angular-S ...

  8. 【分享】标准springMVC+mybatis项目maven搭建最精简教程

    文章由来:公司有个实习同学需要做毕业设计,不会搭建环境,我就代劳了,顺便分享给刚入门的小伙伴,我是自学的JAVA,所以我懂的.... (大图直接观看显示很模糊,请在图片上点击右键然后在新窗口打开看) ...

  9. 一起学微软Power BI系列-使用技巧(4)Power BI中国版企业环境搭建和帐号问题

    千呼万唤的Power BI中国版终于落地了,相信12月初的微软技术大会之后已经铺天盖地的新闻出现了,不错,Power BI中国版真的来了,但还有些遗憾,国际版的一些重量级服务如power bi emb ...

随机推荐

  1. Python自学笔记-进程,线程(Mr serven)

    对于操作系统来说,一个任务就是一个进程(Process),比如打开一个浏览器就是启动一个浏览器进程,打开一个记事本就启动了一个记事本进程,打开两个记事本就启动了两个记事本进程,打开一个Word就启动了 ...

  2. ubuntu中安装ftp服务器

    1. 实验环境 ubuntu14.04 2.vsftpd介绍 vsftpd 是“very secure FTP daemon”的缩写,是一款在Linux发行版中最受推崇的FTP服务器程序,安全性是它的 ...

  3. HDU5661 Claris and XOR

    我们求二进制是怎么求的呢:先看看二进制的每一位代表多大:.......32 16 8 4 2 1 假如n=10, ..... 32>n ,不要. 16>n,不要. 8<=n,要,然后 ...

  4. java8中Stream数据流

    筛选重复的元素 Stream 接口支持 distinct 的方法, 它会返回一个元素(根据流所生成元素的 hashCode和equals方法实现)的流. 例如,以下代码会筛选出列表中所有的偶数,并确保 ...

  5. 史上最难的一道Java面试题 (分析篇)

    博客园 匠心零度 转载请注明原创出处,谢谢! 无意中了解到如下题目,觉得蛮好. 题目如下: public class TestSync2 implements Runnable { int b = 1 ...

  6. Pyhton编程(二)之变量、用户输入及条件语句

    一:变量 变量定义的规则 1)只能由数字.字母.下划线组成(不能以数字开头) 2)不能使用关键字作为变量名 ['and', 'as', 'assert', 'break', 'class', 'con ...

  7. Java 内存模型- Java Memory Model

    多线程越来越多的使用,使得我们需要对它的深入理解.那么就涉及到了Java内存模型JMM.JMM是JVM的一部分,JMM定义了一个线程修改了一个共享变量,其他线程什么时候或者如何看到这个变量,如何去访问 ...

  8. DOS常用命令及进制转换

    DOS是一种用户单任务磁盘操作系统.在DOS中,我们可以通过DOS命令来管理设备和文件,如打印文件.删除文件,复制文件,创建新的文件夹和文档并编写内容等功能同时也是JAVA编程基础的一个入门.进入DO ...

  9. checkbox插件

    1.全选或者全不选 首先判断全选或全不选checkbox是否被选中. 如果被选中,则为每个选项checkbox设置obj.checked='checked'; 如果未被选中,则为每个选项checkbo ...

  10. 【转】Linux设备驱动--块设备(一)之概念和框架

    原文地址:Linux设备驱动--块设备(一)之概念和框架 基本概念   块设备(blockdevice) --- 是一种具有一定结构的随机存取设备,对这种设备的读写是按块进行的,他使用缓冲区来存放暂时 ...