×

javaweb服务器

javaweb服务器(java 如何配置web服务器)

admin admin 发表于2023-02-02 04:12:27 浏览51 评论0

抢沙发发表评论

本文目录

java 如何配置web服务器


JavaWeb Tomcat服务器配置过程如下:

Tomcat服务器端口的配置

  Tomcat的所有配置都放在conf文件夹之中,里面的server.xml文件是配置的核心文件。如果想修改Tomcat服务器的启动端口,则可以在server.xml配置文件中的Connector节点进行的端口修改

例如:将Tomcat服务器的启动端口由默认的8080改成8081端口

Tomcat服务器启动端口默认配置

1 《Connector port=“8080“ protocol=“HTTP/1.1“

2                connectionTimeout=“20000“

3                redirectPort=“8443“ /》

将Tomcat服务器启动端口修改成8081端口

1 《Connector port=“8081“ protocol=“HTTP/1.1“

2                connectionTimeout=“20000“

3                redirectPort=“8443“ /》

  这样就把原来默认Tomcat默认的的8080端口改成了8081端口了,需要注意的是,一旦服务器中的*.xml文件改变了,则Tomcat服务器就必须重新启动,重新启动之后将重新读取新的配置信息。因为已经在server.xml文件中将Tomcat的启动端口修改成了8081,所以Tomcat服务器启动时就以8081端口启动了,如下图所示:


如何用Java实现Web服务器


如何用Java实现Web服务器 一、HTTP协议的作用原理
WWW是以Internet作为传输媒介的一个应用系统,WWW网上最基本的传输单位是Web网页。WWW的工作基于客户机/服务器计算模型,由Web 浏览器(客户机)和Web服务器(服务器)构成,两者之间采用超文本传送协议(HTTP)进行通信。HTTP协议是基于TCP/IP协议之上的协议,是Web浏览器和Web服务器之间的应用层协议,是通用的、无状态的、面向对象的协议。HTTP协议的作用原理包括四个步骤:
(1) 连接:Web浏览器与Web服务器建立连接,打开一个称为socket(套接字)的虚拟文件,此文件的建立标志着连接建立成功。
(2) 请求:Web浏览器通过socket向Web服务器提交请求。HTTP的请求一般是GET或POST命令(POST用于FORM参数的传递)。GET命令的格式为:
GET 路径/文件名 HTTP/1.0
文件名指出所访问的文件,HTTP/1.0指出Web浏览器使用的HTTP版本。
(3) 应答:Web浏览器提交请求后,通过HTTP协议传送给Web服务器。Web服务器接到后,进行事务处理,处理结果又通过HTTP传回给Web浏览器,从而在Web浏览器上显示出所请求的页面。

如何将Java web项目部署到服务器


一、前言

前面我们已经尝过了在云服务器上部署代码的甜头了,现在主菜就要上场了,那就是将我们的 JavaWeb 项目部署到云服务器上。兴奋吧?淡定淡定~

二、项目部署

我们对于 Java Web 项目在本地机器(无论是 Windows 还是 Linux)上的部署已经了然于心了,那么对于在云服务器上部署 Java Web 项目又是如何操作的呢? 其实很简单,还是离不开 Web 项目部署的那三点:
① 基础的 JDK 环境
② 一个 Web 服务器。如 Tomcat、JBoss
③ 一款数据库。如:mysql

对于云服务器上 Java Web 项目的部署,和平时在 Windows、Linux 下部署是一样的。最多也就是只能使用纯命令模式来操作而已,其实过程都一样。

2.1 环境准备

既然是 Java Web 项目的部署,首先自然需要配置好相关的环境罗。也就是:先在云主机上搭建好 Java 开发环境,如 OpenJDK 的安装、Tomcat 的安装、Mysql 数据库的安装。

2.2 项目部署

我们要部署 Java Web 项目,那就至少得将项目上传到云服务器。其实过程很简单,基本上也就是下面三个步骤:
① 打包上传:将项目打包成 war 文件,然后利用传到远程服务器(在Eclipse中直接将项目导出为.war文件)。
② 将 war 文件移动到 Tomcat 目录下的 webapps 下。
③ 重启 Tomcat,访问我们的项目。

在这个过程中,我们需要注意。因为一般而已,作为一个 Web 项目,我们肯定是有数据库的使用的。那么数据库部分怎么办呢?其实,只需要将我们已有的数据库转储为 sql 文件,然后将 sql 文件上传到云服务器上执行即可。以 mysql 为例,如下操作:

① 转储为 sql 脚本,并上传:先在本地将我们项目使用的数据库转为 sql 文件,上传到云服务器上 (可以利用 Navicat 将数据库转储为.sql文件)。
② 执行 sql:然后进入 mysql 中执行该 sql 文件。(若服务器装有Navicat,可直接用Navicat执行.sql文件,执行前需要选中存放表的数据库,应该与代码中数据库连接语句包含的数据库名保持一致)


如何搭建java web服务器


1.由于服务器配置比较低综合考虑,选择ubuntu系统进行搭建

2. 登陆阿里云服务器:

方法一:使用xshell软件登陆服务器

主机填写ip地址

端口号选择22

连接登陆服务器

方法二:使用阿里云管理终端

ssh root@服务器ip地址
password:输入密码

3.如何上传文件

方法一:windows和linux上传或下载某个文件可以使用rz,sz

sudo apt-get install lrzsz

安装完成后进入准备存放改文件的文件夹输入rz,就会跳出文件选择框

例如:#cd apache-tomcat-7.0.69/bin  rz

cd后有空格

cd ~:返回最上层

cd ..:返回上一层

cd -:返回最近操作 

方法二:使用xshell中的插件Xftp

4.安装及配置环境

安装lsb指令

ubunu快捷安装需要的命令,更新一下:
自带源在大陆不好,更新即可解决
1.sudo apt-get update  
2.apt-get install yum  yum install -y redhat-lsb

输入lsb指令查看当前版本 

查看版本号
lsb_release -a查看当前位数
getconf LONG_BIT

安装jdk:

方法一:ubuntu自动安装jdk

sudo apt-get install jdk

安装完成后配置环境:

使用vim指定编辑etc目录下profile文件,添加export
#vim /etc/profile
添加进profile文件
JAVA_HOME=/home/java/jdk1.6.0_12
export JRE_HOME=/home/liujicheng/java/jdk1.6.0_12/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
//java存放位置请自行更改
//使用 which java 查看jdk所在文件夹

方法二:本地下载jdk上传

下载对应系统32位或64位的tar.gz文件

建议:经过还几次对服务器进行环境搭建,已经有了一点小小的见解,建议不要使用过低版本的JDK,例如服务器JDK版本为1.5而项目JDK版本为1.8的情况,就会出现无法服务器无法运行.war文件的情况,建议版本为1.7

上传tar.gz文件有两种方法

11.输入命令行 rz 选择安装包上传1使用rz时,注意安装 2.通过xftp将上传

创建一个java文件夹
mkdir java

输入安装命令,将上传的.tar.gz文件解压到创建为java文件夹中
sudo tar -zxvf jdk-7u80-linux-x64.tar.gz -C /root/java

设置环境变量

使用vim指定编辑etc目录下profile文件,添加export
#vim /etc/profile添加进profile文件
JAVA_HOME=/root/java/jdk1.7.0_80
export JRE_HOME=/root/java/jdk1.7.0_80/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH

export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH

//java存放位置请自行更改//使用 which java 查看jdk所在文件夹

选择E,然后输入i 进行写操作

最后 :x退出并保存

设置默认JDK

12345sudo update-alternatives --install /usr/bin/java java /root/java/jdk1.7.0_80/bin/java 300 sudo update-alternatives --install /usr/bin/javac javac /root/java/jdk1.7.0_80/bin/javac 300 sudo update-alternatives --install /usr/bin/jar jar /root/java/jdk1.7.0_80/bin/jar 300  sudo update-alternatives --install /usr/bin/javah javah /root/java/jdk1.7.0_80/bin/javah 300  sudo update-alternatives --install /usr/bin/javap javap /root/java/jdk1.7.0_80/bin/javap 300

如果之后一个版本显示: 

There is only one alternative in link group java (providing /usr/bin/java):
/usr/lib/jvm/jdk1.7.0_60/bin/java

否者,选择合适的jdk

检查jdk是否安装成功,输出版本号及对应信息即安装成功

#java
#javac
#java -version

安装tomcat

方法一:ubuntu自动安装tomcat

sudo apt-get install tomcat

添加jdk和jre环境变量

JAVA_HOME=/home/java/jdk1.6.0_12
JRE_HOME=/home/homer/eclipse/jdk1.6.0_12/jre  
PATH=$JAVA_HOME/bin:$JRE_HOME:$PATH  
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar  
TOMCAT_HOME=/opt/apache-tomcat-7.0.29  

启动tomcat

cd apache-tomcat-7.0.69/bin ./startup.sh

出现提示说明配置成功

方法二:上传tomcat并解压

通过上述上传文件方法上传后

使用tar指令解压

tar -zxvf apache-tomcat-8.0.24.tar.gz

然后进入apache-tomcat-7.0.69文件夹

# cd apache-tomcat-8.0.24 /bin/

启动tomcat

cd apache-tomcat-8.0.24 /bin/ ./startup.sh

显示如下说明成功

最后输入:http://x.x.x.x:8080/   (x代表ip地址),显示tomcat首页说明配置成功

安装Mysql

ubuntu下自动安装

sudo apt-get install mysql-server

apt-get install mysql-client

sudo apt-get install libmysqlclient-dev

设置数据库密码:

检查Mysql是否安装成功

sudo netstat -tap | grep mysql

登陆Mysql

mysql -uroot -p密码

成功:

查看数据库

show databases

将.sql文件导入

//先选定数据库
use iswust        
source /root/test.sql//source /文件夹/sql文件名

select * from score

5.java工程打包上传并运行

右键选中java项目,WAR Export 将文件以war格式导出

(注意:java工程的jdk一定要先降低到与服务器的jdk版本相同,例如java工程为1.8而服务器为1.6则会报错)

降低jdk方法:

并通过XFTP或上述的上传文件方法,上传至apache-tomcat-7.0.69/webapps中


什么是JavaWeb


1.定义 Java Web,是用Java技术来解决相关web互联网领域的技术总和。web包括:web服务器和web客户端两部分。Java在客户端的应用有java ...
2.主要框架 Java的Web框架虽然各不相同,但基本也都是遵循特定的路数的:使用...
3.JSP优点 Java EE标准,这意味着有很大的市场需求和更多的工作机会。 上手快速并且...
4.SpringMVC优点 对Spring MVC覆盖绑定(overriding ...

Java Web服务器


我现写了一个,可以访问到静态资源。你看情况多给点分吧
另外eclipse还没有5.5,5.5的貌似是myEclipse吧
其中port指端口,默认是地址是http://127.0.0.1:8088/
其中basePath指资源根路径,默认是d:
可以通过命令行参数对其进行赋值
import java.io.BufferedReader;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.PrintStream;
import java.net.ServerSocket;
import java.net.Socket;
import java.net.URLDecoder;
public class SimpleHttpServer {
private static int port = 8088;
private static String basePath = “D:/“;
public static void main(String args) {
if (args.length 》= 1) {
basePath = args;
}
if (args.length 》= 2) {
port = Integer.parseInt(args);
}
System.out.println(“server starting:“);
System.out.println(“base path:“ + basePath);
System.out.println(“Listening at:“ + port);
startServer();
System.out.println(“server started succesfully“);
}
private static void startServer() {
new Thread() {
public void run() {
try {
ServerSocket ss = new ServerSocket(port);
while (true) {
final Socket s = ss.accept();
new Thread() {
public void run() {
try {
OutputStream socketOs = s.getOutputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(s.getInputStream()));
String line;
String headerLine = null;
while ((line = br.readLine()) != null) {
if (headerLine == null) {
headerLine = line;
}
if (““.equals(line)) {
break;
}
}
String target = headerLine.replaceAll(“^.+ (.+) HTTP/.+$“, “$1“);
String queryString;
String tmp = target.split(“\\?“);
target = URLDecoder.decode(tmp, “utf-8“);
target = target.endsWith(“/“) ? target.substring(0, target.length() - 1) : target;
if (tmp.length 》 1) {
queryString = tmp;
} else {
queryString = ““;
}
String filePath = basePath + target;
File f = new File(filePath);
if (!f.exists()) {
StringBuffer content = new StringBuffer();
content.append(“《html》《head》《title》Resource Not Found《/title》《/head》《body》《h1》The requested resource “)
.append(target).append(“ is not found.《/h1》《/body》《/html》“);
StringBuffer toWrite = new StringBuffer();
toWrite.append(“HTTP/1.1 404 Not Found\r\nContent-Length:“).append(““ + content.length()).append(“\r\n\r\n“)
.append(content);
socketOs.write(toWrite.toString().getBytes());
} else if (f.isDirectory()) {
StringBuffer content = new StringBuffer();
content.append(“《html》《head》《title》“).append(target).append(
“《/title》《/head》《body》《table border=’1’ width=’100%’》“);
content.append(“《tr》《th align=’left’ width=’40px’》“).append(“Path“).append(“《/th》《td》“).append(target.length()》0?target:“/“)
.append(“《/td》《/tr》“);
content.append(“《tr》《th align=’left’》Type《/th》《th align=’left’》Name《/th》《/tr》“);
if (!basePath.equals(filePath)) {
content.append(“《tr》《td》Directory《/td》《td》“).append(“《a href=’“).append(
target.substring(0, target.lastIndexOf(“/“) + 1)).append(“’》..《/a》“).append(“《/td》《/tr》“);
}
File files = f.listFiles();
for (File file : files) {
content.append(“《tr》《td》“);
if (file.isFile()) {
content.append(“File《/td》《td》“);
} else if (file.isDirectory()) {
content.append(“Directory《/td》《td》“);
}
content.append(“《a href=\““).append(target);
if (!(target.endsWith(“/“) || target.endsWith(“\\“))) {
content.append(“/“);
}
content.append(file.getName()).append(“\“》“).append(file.getName()).append(“《/a》《/td》《/tr》“);
}
content.append(“《/table》《/body》《/html》“);
StringBuffer sb = new StringBuffer();
sb.append(“HTTP/1.1 200 OK\r\nCache-Control: max-age-0\r\n“);
sb.append(“Content-Length:“).append(““ + content.length()).append(“\r\n\r\n“);
sb.append(content);
socketOs.write(sb.toString().getBytes());
} else if (f.isFile()) {
socketOs.write((“HTTP/1.1 200 OK\r\nCache-Control: max-age-0\r\nContent-Length:“ + f.length() + “\r\n\r\n“)
.getBytes());
byte buffer = new byte;
FileInputStream fis = new FileInputStream(f);
int cnt = 0;
while ((cnt = fis.read(buffer)) 》= 0) {
socketOs.write(buffer, 0, cnt);
}
fis.close();
}
socketOs.close();
} catch (Exception e) {
try {
s.getOutputStream().write(“HTTP/1.1 500 Error\r\n“.getBytes());
ByteArrayOutputStream byteos = new ByteArrayOutputStream();
PrintStream printStream = new PrintStream(byteos);
printStream
.write(“《html》《head》《title》Error 500《/title》《/head》《body》《h1》Error 500《/h1》《pre style=’font-size:15’》“
.getBytes());
e.printStackTrace(printStream);
printStream.write(“《/pre》《body》《/html》“.getBytes());
byteos.close();
byte byteArray = byteos.toByteArray();
s.getOutputStream().write((“Content-Length:“ + byteArray.length + “\r\n\r\n“).getBytes());
s.getOutputStream().write(byteArray);
s.close();
} catch (IOException e1) {
e1.printStackTrace();
}
}
}
}.start();
}
} catch (Exception e) {
e.printStackTrace();
}
}
}.start();
}
}

Java:除了tomcat以外,还有哪些常用的Web服务器呢


1、weblogic

WebLogic是美国bea公司出品的一个application server确切的说是一个基于j2ee架构的中间件。BEA WebLogic是用于开发、集成、部署和管理大型分布式Web应用、网络应用和数据库应用的Java应用服务器。将Java的动态功能和Java Enterprise标准的安全性引入大型网络应用的开发、集成、部署和管理之中。

2、webSphere

WebSphere是 IBM 的集成软件平台。它包含了编写、运行和监视全天候的工业强度的随需应变 Web 应用程序和跨平台、跨产品解决方案所需要的整个中间件基础设施。

如服务器、服务和工具。WebSphere 提供了可靠、灵活和健壮的集成软件。

3、JBoss

JBoss是一个管理EJB的容器和服务器,支持EJB 1.1、EJB 2.0和EJB3.0的规范。但JBoss核心服务不包括支持servlet/JSP的WEB容器,一般与Tomcat或Jetty绑定使用。2006年,Jboss公司被Redhat公司收购。

4、 Apache

Apache源于NCSA