第一个Spring restful 项目-从开发到部署

原创 2015年11月18日 17:14:38

环境

开发环境

  • Windows7旗舰版
  • eclipse 版本
    Eclipse Java EE IDE for Web Developers.
    Version: Luna Service Release 2 (4.4.2)

部署环境

  • tomcat 版本
    tomcat 7.0.65
  • Linux 环境
    Centos7 64 位
  • Java版本
    java version “1.7.0_79”

开发

目标:用spring 支持 restful

项目目录

  • springREST
    • src
      • demo
        • Demo.java
    • WebRoot
      • WEB-INF
        • web.xml
        • rest-servlet.xml

项目文件

  • web.xml 配置spring支持
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0" 
    xmlns="http://java.sun.com/xml/ns/javaee" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
    http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
  <display-name>SpringREST</display-name>   
  <context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>/WEB-INF/rest-servlet.xml</param-value>
  </context-param>
  <listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  </listener>
  <servlet>
    <servlet-name>rest</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <load-on-startup>2</load-on-startup>
  </servlet>
  <servlet-mapping>
    <servlet-name>rest</servlet-name>
    <url-pattern>/</url-pattern>
  </servlet-mapping>
</web-app>
  • rest-servlet.xml 配置rest支持
<?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:jee="http://www.springframework.org/schema/jee"
    xmlns:tx="http://www.springframework.org/schema/tx" 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-2.5.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-2.5.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd"
    default-lazy-init="true">
    <context:component-scan base-package="demo" />
</beans>
  • java代码 Demo.java
package com.liqiu.controller;

import java.io.IOException;

import javax.servlet.http.HttpServletResponse;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
@RequestMapping("/demo")
public class Demo{
    @RequestMapping(value = "/{id}")
    public void get(@PathVariable String id,HttpServletResponse response) throws IOException {
        response.getWriter().write(id);
    }
}

项目部署

  • 导出war文件
    导出war文件
  • tomcat 安装

    • 下载tomcat core linux 版
    • 上传并解压
      tar -zxvf apache-tomcat-7.0.65.tar.gz
      mv apache-tomcat-7.0.65 /opt/tomcat
    • 配置tomcat

      • 在 TOMCAT_HOME/bin/catalina.sh 中加入java环境变量
        export JAVA_HOME=/usr/java/jdk1.7.0_79
        export     CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
        export PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin

      java环境便令

      • 配置tomcat 用户
        修改 TOMCAT_HOME/conf/tomcat-users.xml

        <tomcat-users>
            <role rolename="admin"/>
            <role rolename="manager-script"/>
            <role rolename="manager-gui"/>
            <role rolename="manager-jmx"/>
            <role rolename="manager-status"/>
            <role rolename="admin-gui"/>
            <role rolename="admin-script"/>
        
            <user username="admin" password="admin" roles="manager-gui,manager-script,manager-jmx,manager-status,admin-gui,admin-script"/>
        </tomcat-users>
      • 配置tomcat环境变量 修改 /etc/profile

        export TOMCAT_HOME=/usr/local/tomcat
        export PATH=$PATH:$TOMCAT_HOME/bin
  • 启动tomcat
    startup.sh
  • 关闭tomcat
    shutdown.sh
  • 登陆tomcat进行部署
    • 访问 http://you_server:8080/
    • 点击Manage APP 用刚才配置的用户名(admin)密码(admin)登陆
    • 上传war文件 点击部署,即可完成部署

验证效果

访问 http://you_server:8080/SpringREST/rest/hello world
效果:
hello world

注意事项

  • 开发环境和部署环境java版本应一致
  • 如果tomcat能正常开启但是无法访问,通常是因为防火墙原因
    关闭防火前:systemctl stop firewalld.service
    检查是否关闭:systemctl status firewalld.service
  • 如果tomcat启动报各种奇怪的错误,可能是因为web项目开发缺少相应的jar包,或者tomcat和spring某些版本jar包有冲突,可尝试更换jar包。
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

Restful风格到底是什么?怎么应用到我们的项目中?

rest越来越流行,感觉挺高大尚的。网上看了很多网友的说法,各有各的看法,我觉得很多说得很有道理。 说法一、 restful风格,就是一种面向资源服务的API设计方式,它不是规范,不是标准,它一种...

Spring MVC 4 RESTFul Web Services CRUD例子(带源码)【这才是restful,超经典】

【本系列其他教程正在陆续翻译中,点击分类:spring 4 mvc 进行查看。源码下载地址在文章末尾。】 【翻译 by 明明如月 QQ 605283073】 原文地址:http://websyst...

使用Jersey+Spring+Tomcat构建RESTful Web服务

RESTful Web 服务REST 在 2000 年由 Roy Fielding 在博士论文中提出,他是 HTTP 规范 1.0 和 1.1 版的首席作者之一。 REST 中最重要的概念是资源(r...
  • FX_SKY
  • FX_SKY
  • 2016年07月20日 22:27
  • 4472

SpringMVC+RestFul详细示例实战教程

一、SpringMVC基础入门,创建一个HelloWorld程序 1.首先,导入SpringMVC需要的jar包。 2.添加Web.xml配置文件中关于SpringMVC的配置 ...

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

把spring-boot项目部署到tomcat容器中

把spring-boot项目按照平常的web项目一样发布到tomcat容器下 一、修改打包形式 在pom.xml里设置 war 二、移除嵌入式tomcat插件 在pom.xml里找到sprin...

如何在Java中 提供 RESTful Web 服务

简介 JAX-RS (JSR-311) 是为 Java EE 环境下的 RESTful 服务能力提供的一种规范。它能提供对传统的基于 SOAP 的 Web 服务的一种可行替代。 在本文中,了解 J...

Spring Data REST入门(一):两行代码搞定RESTFul

Spring Data REST入门(一) Spring Data REST入门(二) Spring Data REST入门(三) Spring Data REST入门(四) 什么是Spring...

Spring RESTful风格url示例

转:http://www.xdemo.org/spring-restful/ 口水篇 REST是设计风格而不是标准 资源是由URI来指定。 对资源的...
  • pzasdq
  • pzasdq
  • 2016年09月17日 23:35
  • 4383
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:第一个Spring restful 项目-从开发到部署
举报原因:
原因补充:

(最多只允许输入30个字)