我的Spring之旅(一):HelloSpring【附github源码】

来源:互联网 发布:数据挖掘任务可以分为 编辑:程序博客网 时间:2024/05/06 06:52

1、项目介绍

利用Spring MVC控制器,返回网页和json.

2、新建Maven工程



3、配置pom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">  <modelVersion>4.0.0</modelVersion>  <groupId>com.nextgame</groupId>  <artifactId>hellospring</artifactId>  <packaging>war</packaging>  <version>0.0.1-SNAPSHOT</version>  <name>hellospring Maven Webapp</name>  <url>http://maven.apache.org</url>  <properties>   <spring.version>4.0.5.RELEASE</spring.version> </properties> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> <!-- Spring dependencies --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> <version>${spring.version}</version> </dependency>  <dependency> <groupId>org.springframework</groupId> <artifactId>spring-web</artifactId> <version>${spring.version}</version> </dependency>  <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>${spring.version}</version> </dependency> </dependencies>  <build>    <finalName>hellospring</finalName>  </build></project>

4、HelloSpring控制器

①导入servlet-api

从Tomcat的lib目录中导入servlet-api.jar

②导入json-lib


(注:①②可以通过pom.xml添加依赖,请无视我手动导入的笨办法- -)

③源码

package com.nextgame.web;import java.io.IOException;import net.sf.json.*;import org.springframework.stereotype.Controller;import org.springframework.ui.Model;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestParam;import javax.servlet.http.*;@Controllerpublic class HelloController {@RequestMapping("/view")
//返回网页 public String hello(@RequestParam(value="hello", required=false, defaultValue="World") String name, Model model) { model.addAttribute("hello", name); return "helloworld"; }@RequestMapping("/json")
//返回json public void json(HttpServletRequest req,HttpServletResponse res) throws IOException {JSONObject obj = new JSONObject();obj.put("msg", "hello spring");obj.put("copyright", "wang hao");res.getWriter().print(obj);  }}

5、网页

在WEB-INF目录下新建views目录,在views目录下新建hello world.jsp
<%@ page language="java" contentType="text/html; charset=GB18030"    pageEncoding="GB18030"%><!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=GB18030"><title>Insert title here</title></head><body><h1>Hello:${name}</h1></body></html>

6、配置Spring servlet

①命名规则:xxx-servlet.xml,这里命名为:dispatcher-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.nextgame.web" />  <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix"> <value>/WEB-INF/views/</value> </property> <property name="suffix"> <value>.jsp</value> </property> </bean></beans>

7、配置web.xml

<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd" ><web-app>  <display-name>Archetype Created Web Application</display-name>  <servlet> <servlet-name>dispatcher</servlet-name> <servlet-class> org.springframework.web.servlet.DispatcherServlet </servlet-class> <load-on-startup>1</load-on-startup> </servlet>  <servlet-mapping> <servlet-name>dispatcher</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping>  <context-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/dispatcher-servlet.xml</param-value> </context-param>  <listener> <listener-class> org.springframework.web.context.ContextLoaderListener </listener-class> </listener></web-app>

8、run as server

http://localhost:8080/hellospring/view

(囧:EL表达式请略过。。。)

http://localhost:8080/hellospring/json



9、源码

下载地址:github



0 0