最近也是做了一个简单的java web 项目,由于以前也是没接触过,在这里记录下搭建一个web服务端的过程。

一般我们做一个服务端要么在本地自己的电脑上先安装环境,一般是windows系统,主要安装jdk + tomcat + mysql,这些安装教程网上都有,也很简单,我这里就不多说了,我要讲的是在一个远程linux服务器上搭建web服务端环境。

对于一个liunx服务器,我们可以使用xshell等终端工具登录来操作远程服务器,使用xshell的好处是,我们可以使用rz ,sz命令上传上载文件 ,我们可以事先在自己本地上下载好linux版本的jdk ,tomcat ,mysql,使用rz 命令上传到我们的linux服务器上

ubuntu@VM-50-35-ubuntu:~$ sudo rz    会自动弹出文件框加载文件,就可以上传文件了,非常方便

ubuntu@VM-50-35-ubuntu:~$ sudo sz  filename 就可以下载对应的文件

下面说下各种安装包的安装及环境变量配置,各个安装包都可以在官网上下载(选择自己需要的版本即可)

一、JDK的安装

1.将上传的jdk解压

sudo tar -zxvfjdk-8u144-linux-i586.tar.gz

2.解压成功后可以看到该目录下多出了文件夹 jdk1.8.0_144 ,先在/usr下新建文件夹java,将jdk1.8.0_144 移到/usr/java目录下

sudo mv jdk1.8.0_144/usr/java/

3.现在来配置jdk的环境变量

使用vi命令编辑/etc/profile文件  vi /etc/profile

在文件底部加上四条配置信息:

export JAVA_HOME=/usr/java/jdk1.8.0_144

export JRE_HOME=${JAVA_HOME}/jre

export CLASSPATH=.:%{JAVA_HOME}/lib:%{JRE_HOME}/lib

export PATH=${JAVA_HOME}/bin:$PATH

其中JAVA_HOME指定为你的JDK安装目录,另外,linux中是以冒号分隔,不同于windows下使用分号进行分隔。

编辑好后保存退出,执行命令:source /ect/profile

执行java ,javac命令就可查看jdk是否配置好了。

二、tomcat安装

1.将上传的tomcat压缩包解压,这里我是打算把tomcat放到 /usr/lib里

sudo tar zxvf apache-tomcat-8.5.20.tar.gz -C /usr/lib

sudo mv apache-tomcat-8.0.28 tomcat8.5

sudo chmod -R 777 tomcat8.5

2.环境变量配置

在tomcat8.5的bin文件夹下有一个startup.sh和shutdown.sh的文件,可以用vi打开,然后在最后一句上边都加入以下的变量(根据自己的实际情况来修改):

JAVA_HOME=/usr/java/jdk1.8.0_144

JRE_HOME=${JAVA_HOME}/jre

PATH=$JAVA_HOME/bin:$PATH

CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

TOMCAT_HOME=/usr/lib/tomcat8.5

3.启动tomcat

执行命令 sh startup.sh

在浏览器输入;http://localhost:8080 如果出现tomcat首页的效果说明配置成功了。(localhost是本地ip,如果放到服务器端,需要换成服务器提供的对外公网IP)

三、mysql安装

我这里是用软件源里提供的mysql,直接用命令

sudo apt-get install mysql-server

在安装过程中会提示输入mysql的登入密码(需要记录,后面登录mysql需要用到这个密码)

登录mysql ,使用命令

mysql -uroot -p123456  (123456就是设置的密码) 后面就可以进行数据库方面的操作了

show databases(显示有些哪数据库)

use databasename(使用哪个数据库 ,databasename为数据库名)

show tables(选择数据库后,显示有哪些表)

在以上三个工具安装好后,java web 服务端的环境算是搭建好了,如果我们的项目没有涉及到数据库,我们只需把我们的web项目,导出一个war包,直接放到tomcat目录下的webapps目录下就可以了,tomcat会自动帮我们解压war包。但如果我们的项目涉及数据库操作,就还需要一些相关的配置了。

1.需要mysql jdbc 驱动jar包放入到tomcat 的lib目录下,我的用的版本是 mysql-connector-java-5.1.43-bin.jar

2.在tomcat下配置mysql数据源 ,需要对tomcat的conf目录下的几个文件加一些配置

编辑server.xml,在GlobalNamingResources标签下加入

编辑context.xml,在Context标签下加入

username="root"

password="123456"

maxActive="850"

maxidle="80"

removeAbandoned="true"

removeAbandonedTimeout="5"

driverClassName="com.mysql.jdbc.Driver"

url="jdbc:mysql://localhost:3306/grginvoice?autoReconnect=true"

minEvictableIdleTimeMillis="4000"

timeBetweenEvictionRunsMillis="5000"/>

编辑web.xml,在web-app标签下加入

DB Connection

jdbc/mysql

javax.sql.DataSource

Container

当然还需要在mysql中创建对就的数据库和表,重启tomcat,就可以使用服务器上的mysql了

(数据库跟tomcat装上同一台服务器上,url里面的地址用localhost可以了,不需要换成服务器的ip地址)

下面是一段mysql数据库连接部分的代码

Connection conn = null;

DataSource ds = null;

Statement stmt = null;

ResultSet rs = null;

try {

Context ctx = new InitialContext();

if (ctx == null)

System.out.println("no content");

ds = (DataSource) ctx.lookup("java:comp/env/jdbc/mysql");

if(ds != null)

conn = ds.getConnection();

if (conn != null)

System.out.println("连接Mysql成功");

stmt = (Statement) conn.createStatement();

String strSql = "select * from grginvoice.ticketinfo where logicid=\"0001\"";

rs = (ResultSet) stmt.executeQuery(strSql);

if (rs != null)

System.out.println("query is success");

while (rs.next()) {

System.out.println(rs.getString(2));

}

} catch (NamingException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

PS:

MySql运行在safe-updates模式下,该模式会导致非主键条件下无法执行update或者delete命令:

执行如下命令:

show variables like 'SQL_SAFE_UPDATES';

SET SQL_SAFE_UPDATES = 0;

Java web 服务器 搭建_搭建一个java web服务端相关推荐

  1. A002、java环境搭建_第一个java程序

    目录 1.内容介绍 2.软件开发概述 2.1 软件开发概念 2.2 软件开发示例 2.3 软件开发语言 2.3.1 计算机语言概述 2.3.2 计算机语言分类 2.4 小结 3.Java概述 3.1 ...

  2. java输入字符串异常_设计一个 Java 程序,自定义异常类,从命令行(键盘)输入一个字符串,如果该字符串值为“XYZ”。。。...

    设计一个 Java 程序,自定义异常类,从命令行(键盘)输入一个字符串,如果该字符串值为"XYZ",则抛出一个异常信息"This is a XYZ",如果从命令 ...

  3. java 多线程 卖票_编写一个Java 多线程程序,完成三个售票窗口同时出售20张票(如下图所示);...

    编写一个Java 多线程程序,完成三个售票窗口同时出售20张票(如下图所示); 程序分析:(1)票数要使用同一个静态值: (2)为保证不会出现卖出同一个票数,要java多线程同步锁. 设计思路: (1 ...

  4. java结果分行显示_编写一个java程序。分行显示自己的姓名,地址,电话!用Test.java命名。_学小易找答案...

    [单选题]16.骨骼肌进行完全强直收缩时,相邻两次刺激的时间间隔应 [填空题]实习岗位名称 [单选题]神经调节的基本方式是: [单选题]Thank you for your nice gifts. - ...

  5. java编写salary函数_编写一个Java程序,在程序中包含一个Employee类,Employee类包含name、age、salary三个成员变量...

    编写一个Java程序,在程序中包含一个Employee类,Employee类包含name.age.salary三个成员变量,Employee类中有4个构造方法,分别为无参的.带一个参数用来对name属 ...

  6. java 64内存不足_请教一个 Java 内存占用的问题

    第 1 条附言  ·  364 天前 2020-03-04 01:08:55.525 [HikariPool-1 housekeeper] WARN c.z.hikari.pool.HikariPoo ...

  7. Java网络编程(一)- 一个简单的服务端/客户端应用程序

    在Java中,我们使用java.net.Socket及其相关类来完成有关网络的相关功能.Socket类非常简单易用,因为Java技术隐藏了建立网络连接和通过连接发送数据的复杂过程.下面所说的内容只适用 ...

  8. 连接主机Java网络编程(一)- 一个简单的服务端/客户端应用程序

    新手发帖,很多方面都是刚入门,有错误的地方请大家见谅,迎欢批评指正 在Java中,我们应用java.net.Socket及其关相类来成完有关络网的关相功能.Socket类非常简略易用,因为Java术技 ...

  9. java开发岗位认识_身为一个java开发人员对目前java开发的一些小小的认识

    为什么要学java? 第一要工作,第二想要高薪 首先身为java开发工作人员你的思想认知程度要搞,思想认知程度决定你的专业技能水平 JavaSE工程师     B/S 架构   ----    浏览器 ...

  10. java单链表例子_写一个java链表的例子?随便举例说一下。

    展开全部 //单链表类 package dataStructure.linearList; import dataStructure.linearList.Node; //导入单链表结点类 impor ...

最新文章

  1. 一个CV算法工程师的小反思
  2. Wallop下蛋送邀请。
  3. 各种排序算法的讲解与代码实现
  4. Java 线程池艺术探索
  5. tableau做rfm分析_RFM模型客户关系管理
  6. 任务队列和异步接口的正确打开方式(.NET Core版本)
  7. linux环境下解决字体乱码的问题
  8. 洛谷 - P2756 飞行员配对方案问题(二分图最大匹配+路径打印)
  9. 使用SoapUI调用安全WCF SOAP服务–第1部分,该服务
  10. 检测和删除多余无用的css
  11. 三星 原生android,原生Android 4.0 三星GALAXY Nexus评测
  12. 大数据技术之 Kafka (第 3 章 Kafka 架构深入 ) Log存储解析
  13. Codeforces Round #368 (Div. 2) C. Pythagorean Triples
  14. (转载)今天的不在家呢的即时通讯
  15. 科研项目 | 深度参与前沿课题研究,全英华人教授协会(ABCP)资深学者亲授
  16. pycharm 里面配置pip,安装库
  17. DNS服务器构建(一)-—构建域名缓存服务器
  18. python可以实现那些功能_30 个Python代码实现的常用功能,精心整理版
  19. CF984D XOR-pyramid
  20. python题目-完数

热门文章

  1. 旅游指南之二十----三岳壶口八日自助游行程介绍
  2. 异地工作比例高 最受IT人欢迎的十大工作城市
  3. 数字签名和数字签名证书理解
  4. 各种类型URL的SEO权重比较
  5. Linux I/O原理和零拷贝Zero-copy技术全面揭秘
  6. Vulnhub靶机渗透测试——DC-3
  7. 转载天涯一高人:理解黑话
  8. 中国信息化系统集成行业协会:企业信息化系统集成
  9. 在线投票系统前端html,在线注册、登录的投票系统
  10. 基于PHP+MySQL的在线投票系统设计与实现