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

简介: 环境开发环境Windows7旗舰版eclipse 版本 Eclipse Java EE IDE for Web Developers.

环境

开发环境

  • 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包。
目录
相关文章
|
12天前
|
人工智能 前端开发 Java
Spring AI Alibaba + 通义千问,开发AI应用如此简单!!!
本文介绍了如何使用Spring AI Alibaba开发一个简单的AI对话应用。通过引入`spring-ai-alibaba-starter`依赖和配置API密钥,结合Spring Boot项目,只需几行代码即可实现与AI模型的交互。具体步骤包括创建Spring Boot项目、编写Controller处理对话请求以及前端页面展示对话内容。此外,文章还介绍了如何通过添加对话记忆功能,使AI能够理解上下文并进行连贯对话。最后,总结了Spring AI为Java开发者带来的便利,简化了AI应用的开发流程。
201 0
|
10天前
|
存储 JSON 前端开发
【Spring项目】表白墙,留言板项目的实现
本文主要介绍了表白墙项目的实现,包含前端和后端代码,以及测试
|
10天前
|
JSON 前端开发 Java
|
10天前
|
缓存 前端开发 Java
【Spring】——SpringBoot项目创建
SpringBoot项目创建,SpringBootApplication启动类,target文件,web服务器,tomcat,访问服务器
|
19天前
|
XML JSON Java
Spring Boot 开发中常见的错误
本文总结了 Java 开发中常见的几个问题及其改进方法,包括:1. 过度使用 `@Component` 注解;2. `@ResponseBody` 注解的错误用法;3. `@Autowired` 的不当使用;4. `application.properties` 管理不善;5. 异常处理不当。每部分详细解释了错误情况和建议的改进方案,并提供了相应的代码示例。
47 11
|
19天前
|
IDE Java 测试技术
互联网应用主流框架整合之Spring Boot开发
通过本文的介绍,我们详细探讨了Spring Boot开发的核心概念和实践方法,包括项目结构、数据访问层、服务层、控制层、配置管理、单元测试以及部署与运行。Spring Boot通过简化配置和强大的生态系统,使得互联网应用的开发更加高效和可靠。希望本文能够帮助开发者快速掌握Spring Boot,并在实际项目中灵活应用。
37 5
|
17天前
|
前端开发 Java 开发者
这款免费 IDEA 插件让你开发 Spring 程序更简单
Feign-Helper 是一款支持 Spring 框架的 IDEA 免费插件,提供 URL 快速搜索、Spring Web Controller 路径一键复制及 Feign 与 Controller 接口互相导航等功能,极大提升了开发效率。
|
1月前
|
消息中间件 监控 Java
如何将Spring Boot + RabbitMQ应用程序部署到Pivotal Cloud Foundry (PCF)
如何将Spring Boot + RabbitMQ应用程序部署到Pivotal Cloud Foundry (PCF)
36 6
|
1月前
|
Java 关系型数据库 MySQL
如何将Spring Boot + MySQL应用程序部署到Pivotal Cloud Foundry (PCF)
如何将Spring Boot + MySQL应用程序部署到Pivotal Cloud Foundry (PCF)
58 5
|
1月前
|
缓存 监控 Java
如何将Spring Boot应用程序部署到Pivotal Cloud Foundry (PCF)
如何将Spring Boot应用程序部署到Pivotal Cloud Foundry (PCF)
41 5