发表于: 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接口
评论