第一个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包。
目录
相关文章
|
5月前
|
人工智能 Java 数据库
飞算 JavaAI:革新电商订单系统 Spring Boot 微服务开发
在电商订单系统开发中,传统方式耗时约30天,需应对复杂代码、调试与测试。飞算JavaAI作为一款AI代码生成工具,专注于简化Spring Boot微服务开发。它能根据业务需求自动生成RESTful API、数据库交互及事务管理代码,将开发时间缩短至1小时,效率提升80%。通过减少样板代码编写,提供规范且准确的代码,飞算JavaAI显著降低了开发成本,为软件开发带来革新动力。
|
5月前
|
前端开发 Java UED
从基础到进阶:Spring Boot + Thymeleaf 整合开发中的常见坑与界面优化
本文深入探讨了 **Spring Boot + Thymeleaf** 开发中常见的参数绑定问题与界面优化技巧。从基础的 Spring MVC 请求参数绑定机制出发,分析了 `MissingServletRequestParameterException` 的成因及解决方法,例如确保前后端参数名、类型一致,正确设置请求方式(GET/POST)。同时,通过实际案例展示了如何优化支付页面的视觉效果,借助简单的 CSS 样式提升用户体验。最后,提供了官方文档等学习资源,帮助开发者更高效地掌握相关技能。无论是初学者还是进阶用户,都能从中受益,轻松应对项目开发中的挑战。
209 0
|
2月前
|
Java 关系型数据库 数据库连接
Spring Boot项目集成MyBatis Plus操作PostgreSQL全解析
集成 Spring Boot、PostgreSQL 和 MyBatis Plus 的步骤与 MyBatis 类似,只不过在 MyBatis Plus 中提供了更多的便利功能,如自动生成 SQL、分页查询、Wrapper 查询等。
233 3
|
2月前
|
Java 测试技术 Spring
简单学Spring Boot | 博客项目的测试
本内容介绍了基于Spring Boot的博客项目测试实践,重点在于通过测试驱动开发(TDD)优化服务层代码,提升代码质量和功能可靠性。案例详细展示了如何为PostService类编写测试用例、运行测试并根据反馈优化功能代码,包括两次优化过程。通过TDD流程,确保每项功能经过严格验证,增强代码可维护性与系统稳定性。
147 0
|
2月前
|
存储 Java 数据库连接
简单学Spring Boot | 博客项目的三层架构重构
本案例通过采用三层架构(数据访问层、业务逻辑层、表现层)重构项目,解决了集中式开发导致的代码臃肿问题。各层职责清晰,结合依赖注入实现解耦,提升了系统的可维护性、可测试性和可扩展性,为后续接入真实数据库奠定基础。
243 0
|
2月前
|
前端开发 Java API
酒店管理系统基于 JavaFX Spring Boot 和 React 经典项目重构实操
本文介绍了基于现代技术栈的酒店管理系统开发方案,整合了JavaFX、Spring Boot和React三大技术框架。系统采用前后端分离架构,JavaFX构建桌面客户端,React开发Web管理界面,Spring Boot提供RESTful API后端服务。核心功能模块包括客房管理和客户预订流程,文中提供了JavaFX实现的客房管理界面代码示例和React开发的预订组件代码,展示了如何实现客房信息展示、添加修改操作以及在线预订功能。
162 0
|
5月前
|
前端开发 Java 物联网
智慧班牌源码,采用Java + Spring Boot后端框架,搭配Vue2前端技术,支持SaaS云部署
智慧班牌系统是一款基于信息化与物联网技术的校园管理工具,集成电子屏显示、人脸识别及数据交互功能,实现班级信息展示、智能考勤与家校互通。系统采用Java + Spring Boot后端框架,搭配Vue2前端技术,支持SaaS云部署与私有化定制。核心功能涵盖信息发布、考勤管理、教务处理及数据分析,助力校园文化建设与教学优化。其综合性和可扩展性有效打破数据孤岛,提升交互体验并降低管理成本,适用于日常教学、考试管理和应急场景,为智慧校园建设提供全面解决方案。
376 70
|
2月前
|
Java 应用服务中间件 Maven
第01课:Spring Boot开发环境搭建和项目启动
第01课:Spring Boot开发环境搭建和项目启动
479 0

热门文章

最新文章