1、什么是web服务器?常见的可以部署的java web应用的有哪些
web服务器也就是网站服务器的意思.它是指位于IDC机房环境下运行的服务器.通常配置较高.网络环境也比较好.可以为网站的运行提供一个有力支撑.服务器是独立的硬件设备.用户可以根据需要安装各种操作系统以及配置各种网站环境.所以任何一台WEB服务器都支持JAVA的网站.只是配置JAVA环境一般要专业人员才可以.IDC大多不提供该环境的配置.
海腾数据杨闯为你解答.希望对你有帮助.
2、如何用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浏览器上显示出所请求的页面。
3、JavaWeb中常用的WEB服务器有哪些
tomcat服务器比较常用,简单好用,并且是轻量级服务器。平时自己测试用tomcat很方便,如果用户访问量不是特别大的话,用他都是非常好的。有什么不懂可以追问
4、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端口启动了,如下图所示:
5、基于java的web服务器是什么意思?
基于java的web服务器是指用java语言写的web程序可以发布到该服务器上,通过启动该服务器就可以访问该web项目。任何一个网站都是建立在有服务器的基础上的。
目前常用的有tomcat,等
6、javaweb项目中的servlet部署在服务器哪里
你这个问题不是把servlet放哪?一个页面对应N个Servlet ,servlet对应XML配置文件,你要在Tomcat的webapps下部放一个项目上去!
比如说,index.jsp页面有登录功能;访问LoginServlet;
首先webapp下的文件包目录结构应该是这样的:
项目名称(text)进去后是WEB-INF文件夹和你的页面 ,jsp。在WEB-INF里有classes这是你对应登录功能servlet的二进制文件(.class)文件 【包含包名】然后还有一个Web.xml配置文件,配置你点登录按钮时要拦截到serlvet的 <servlet> 和 <url-pattern>;如果有其他依赖包你可以在WEB-INF下建立lib文件夹将jar包拷贝到这里面来!没有跳过!
7、如何搭建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中
8、主要的商用的Java Web应用服务器有哪些?
Tomcat是一个开放源代码、运行servlet和JSP Web应用软件的基于Java的Web应用软件容器。Tomcat由Apache-Jakarta子项目支持并由来自开放性源代码Java社区的志愿者进行维护。Tomcat Server是根据servlet和JSP规范进行执行的,因此我们就可以说Tomcat Server也实行了Apache-Jakarta规范且比绝大多数商业应用软件服务器要好。做为web容器轻量小巧,如果你不是使用ejb开发,那就可以用它,快速方便。jboss:JBoss服务器是一种优秀的J2EE服务器,和BEA的Weblogic,IBM的Websphere属于同类产品, JBoss为完全开放源码的免费软件,而且具有良好的运行效率和可靠性,因此已经得到越来越多的J2EE应用开发者的青睐。他其中的web容器就是用tomcat,不过支持了ejb,速度慢一些,不适合开发阶段,可以用于真实运行环境(免费)。WebLogic 是一套基于JAVA功能强大的电子商务套件,提供了许多功能强大的中间件以方便编程人员编写的JSP、SERVLET 等电子商务应用,可以为企业提供一个完整的商务应用解决方案。不适合开发阶段,太慢了,适合于运行环境(收费)。
9、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[0];
}
if (args.length >= 2) {
port = Integer.parseInt(args[1]);
}
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[0], "utf-8");
target = target.endsWith("/") ? target.substring(0, target.length() - 1) : target;
if (tmp.length > 1) {
queryString = tmp[1];
} 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[1024];
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();
}
}
10、Java Web技术有哪些?服务器有哪些、种类?
常用的有tomcat、jetty、jboss、weblogic、等。
技术上,有纯JSP、SSH框架、EE标准等