SpringMVC框架学习笔记(1)——HelloWorld

搭建SpringMVC框架

1.添加jar包

  jsp-api.jar
  servlet-api.jar
  jstl.jar
  commons-logging-1.1.1.jar
  spring-beans-4.1.6.RELEASE.jar
  spring-context-4.1.6.RELEASE.jar
  spring-core-4.1.6.RELEASE.jar
  spring-expression-4.1.6.RELEASE.jar
  spring-tx-4.1.6.RELEASE.jar
  spring-web-4.1.6.RELEASE.jar
  spring-webmvc-4.1.6.RELEASE.jar

2.定义Controller和创建JSP页面

  Controller需要实现Controller接口

/**
 * 自定义的Controller需要实现Controller接口
 * */
public class HelloController implements Controller{
    @Override
    public ModelAndView handleRequest(HttpServletRequest req,
            HttpServletResponse resp) throws Exception {
        //调用类来进行处理
        System.out.println("-----hello controller-------");
        //创建一个ModelAndView对象  该对象最后被视图渲染器渲染为指定视图
        ModelAndView mv = new ModelAndView();
        //设置视图名称 ----最后解析为指定的页面
        mv.setViewName("hello");
        //添加结果数据  该数据可以在页面中通过el表达式获取
        mv.addObject("msg", "first spring mvc app");
        return mv;
    }
}

3.配置

  需要配置HandlerMapping映射器和HandlerAdapter适配器和Conteroller,还需配置视图渲染器

<?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"
    xsi:schemaLocation="
        http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans.xsd">
    <!-- 配置handlerMapper 映射器 -->
    <bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"/>
    <!-- 配置Controller 自定义控制器 -->
    <bean name="/hello.do" class="cn.sxt.controller.HelloController"/>
    <!-- 配置handerAdapter 适配器 -->
    <bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter"/>
    <!-- 配置视图渲染器 -->
    <bean id="jspViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>
        <!-- 将视图名 渲染后视图的前缀 -->
        <property name="prefix" value="/WEB-INF/jsp/"/>
        <!-- 渲染后视图的后缀 -->
        <property name="suffix" value=".jsp"/>
        <!-- 例:视图名为:hello   渲染后:/WEB-INF/jsp/hello.jsp 该页面-->
    </bean>
</beans>

4.代码结构

5.配置项目访问路径

6.启动Tomcat访问http://localhost:8080/hello/hello.do

first spring mvc app

时间: 2024-10-28 22:09:04

SpringMVC框架学习笔记(1)——HelloWorld的相关文章

SpringMVC框架学习笔记(4)——结果跳转方式

1.设置ModelAndView对象.根据View和视图解析器跳转到指定页面(视图解析器前缀+viewname+视图解析器后缀) @Override public ModelAndView handleRequest(HttpServletRequest req, HttpServletResponse resp) throws Exception { ModelAndView mv = new ModelAndView(); mv.setViewName("hello"); mv.a

SpringMVC框架学习笔记(2)——使用注解开发SpringMVC

1.配置web.xml <servlet> <servlet-name>mvc</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-v

SpringMVC框架学习笔记(二)

6. 源码分析(了解) 通过前端控制器源码分析springmvc的执行过程. 第一步:前端控制器接收请求 调用doDispatch 第二步:前端控制器调用处理器映射器查找 Handler 第三步:调用处理器适配器执行Handler,得到执行结果ModelAndView 第四步:视图渲染,将model数据填充到request域. 视图解析,得到view: 调用view的渲染方法,将model数据填充到request域 渲染方法: 7. 入门程序小结 通过入门程序理解springmvc前端控制器.处

SpringMVC框架学习笔记(3)——controller配置汇总

1.通过URL对应bean <!-- 配置handlerMapper 映射器 --> <bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"/> <!-- 配置Controller 自定义控制器 --> <bean name="/hello.do" class="cn.sxt.controller.HelloCo

SpringMVC框架学习笔记——各种异常、报错解决

1.Target runtime com.genuitec.runtime.generic.jee60 is not defined. 找到导入项目的.setting文件夹org.eclipse.wst.common.project.facet.core.xml文件 删除<runtime name="com.genuitec.runtime.generic.jee60"/>这一段 2.Implementation of project facet jst.web.jstl

windows下scrapy框架学习笔记—&#39;scrapy&#39; 不是内部或外部命令

最近几天在深入的学习scrapy框架,但是装完各种需要的基础包之后却发现scrapy命令在别的路径下都用不了,我一开始是把python安装在F:\Python路径下的,安装了scrapy后它默认都会安装在这个路径下,scrapy在路径F:\Python\Scripts路径下,我的scrapy命令只能在此路径下用,因此创建什么工程也都只能在此文件下. 想了一下它的工作原理:它在F:\Python\Scripts路径下,就会在Scripts文件下存在一个scrapy批处理文件,那么在DOS下想要命令

JavaSE中线程与并行API框架学习笔记——线程为什么会不安全?

前言:休整一个多月之后,终于开始投简历了.这段时间休息了一阵子,又病了几天,真正用来复习准备的时间其实并不多.说实话,心里不是非常有底气. 这可能是学生时代遗留的思维惯性--总想着做好万全准备才去做事.当然,在学校里考试之前当然要把所有内容学一遍和复习一遍.但是,到了社会里做事,很多时候都是边做边学.应聘如此,工作如此,很多的挑战都是如此.没办法,硬着头皮上吧. 3.5 线程的分组管理 在实际的开发过程当中,可能会有多个线程同时存在,这对批量处理有了需求.这就有点像用迅雷下载电视剧,假设你在同时

JavaSE中Collection集合框架学习笔记(2)——拒绝重复内容的Set和支持队列操作的Queue

前言:俗话说“金三银四铜五”,不知道我要在这段时间找工作会不会很艰难.不管了,工作三年之后就当给自己放个暑假. 面试当中Collection(集合)是基础重点.我在网上看了几篇讲Collection的文章,大多都是以罗列记忆点的形式书写的,没有谈论实现细节和逻辑原理.作为个人笔记无可厚非,但是并不利于他人学习.希望能通过这种比较“费劲”的讲解,帮助我自己.也帮助读者们更好地学习Java.掌握Java. 无论你跟我一样需要应聘,还是说在校学生学习Java基础,都对入门和进一步启发学习有所帮助.(关

SuperSocket框架学习笔记4-SuperWebSocket---使用SubCommandBase

首先下载所需要的 DLL http://download.csdn.net/detail/wai2dance123/7389285 或者参见第2章  到SuperSocket官网下载 http://www.cnblogs.com/xmcrew/p/3747354.html 1,新建一个 .NET4.0 控制台应用程序 命名为 DiyServers 添加以下引用 将默认的Program.cs改名为  DiyServers.cs 并添加以下命名空间 2,写自己的DSession和DServer继承自