搭建一个java web服务端

  最近也是做了一个简单的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 -zxvf jdk-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标签下加入

   <Resource driverClassName="com.mysql.jdbc.Driver" maxActive="10" maxIdle="2" maxWait="300" name="jdbc/mysql" password="123456" type="javax.sql.DataSource" url="jdbc:mysql://localhost:3306/grginvoice?autoReconnect=true" username="root"/>

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

   <Resource name="jdbc/mysql" auth="Container" type="javax.sql.DataSource"
    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标签下加入   

    <resource-ref>
    <description>DB Connection</description>
    <res-ref-name>jdbc/mysql</res-ref-name>
    <res-type>javax.sql.DataSource</res-type>
    <res-auth>Container</res-auth>
    </resource-ref>

    当然还需要在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;

 

 

  

 

posted on 2017-09-14 13:52  水木许愿  阅读(317)  评论(0编辑  收藏  举报

导航