发表于: 2018-01-24 23:42:38

1 736


完成

跑通了一个简单的springMVCDemo.(https://www.tutorialspoint.com/springmvc/springmvc_hello_world_example.htm

项目结构:

HelloController

package com.tutorialspoint;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.ui.ModelMap;

@Controller//负责注册一个bean spring 上下文中
@RequestMapping("/hello")//注解为控制器指定可以处理哪些 URL 请求
public class HelloController {

   @RequestMapping(method = RequestMethod.GET)
   public String printHello(ModelMap model) {
       model.addAttribute("message", "Hello Spring MVC Framework!");

       return "hello";
   }

}

HelloWeb-servlet.xml

<beans xmlns="http://www.springframework.org/schema/beans"
      xmlns:context="http://www.springframework.org/schema/context"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      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="com.tutorialspoint"/>

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

</beans>

web.xml

<web-app id="WebApp_ID" version="2.4"
        xmlns="http://java.sun.com/xml/ns/j2ee"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
  http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">

   <display-name>Spring MVC Application</display-name>

   <servlet>
       <servlet-name>HelloWeb</servlet-name>
       <servlet-class>
           org.springframework.web.servlet.DispatcherServlet
       </servlet-class>
       <load-on-startup>1</load-on-startup>
   </servlet>

   <servlet-mapping>
       <servlet-name>HelloWeb</servlet-name>
       <url-pattern>/</url-pattern>
   </servlet-mapping>

</web-app>

index.jsp

<html>
<body>
<h2>Hello World!</h2>
</body>
</html>

hello.jsp

<%@ page contentType="text/html; charset = UTF-8" %>
<html>
<head>
   <title>Hello World</title>
</head>
<body>
<h2>${message}</h2>
</body>
</html>

跑通:

之后照着这个代码仿写了一遍,报错,发现是有些包没导入。

在解决这个问题之前,师兄指出我的代码不规范,应该把HelloWeb-servlet.xml文件放入resource下,而不是WEB-INF中,经过修改,结果出错:每次执行程序都会到WEB-INF里找[servlet-name]-servlet.xml文件。最后找出原因是:Spring分为多个文件进行分别的配置,其中在servlet-name中如果没有指定init-param属性,那么系统自动寻找的spring配置文件为[servlet-name]-servlet.xml。

总之前端控制器格式不该这样写,明天我再去按规范跑一个例子。

还有昨天提示8080端口被占用的问题,重启Tomcat就可以了,现在想想也挺简单的。

这个是Tomcat基本配置的参考(http://blog.csdn.net/u012679583/article/details/72571227)


2.了解了一些REST概念

一句话概括:URL定位资源,用HTTP动词(GET,POST,DELETE,DETC)描述操作。

REST -- REpresentational State Transfer

REST描述的是在网络中client和server的一种交互形式;REST本身不实用,实用的是如何设计 RESTful API(REST风格的网络接口)

GET    用来获取资源,
POST  用来新建资源(也可以用于更新资源),
PUT    用来更新资源,
DELETE  用来删除资源。

这里写的很清楚,强力推荐:https://www.zhihu.com/question/28557115


问题:

springmvc还是只识皮毛


收获

跑通一个demo,成就感倍增


计划

使用SpringMVC完成REST接口




返回列表 返回列表
评论

    分享到