- 浏览: 138608 次
文章分类
最新评论
-
wangyudong:
很有帮助的代码实例,测试Spring Boot REST AP ...
1、springboot入门案例helloworld与集成hibernate -
wangyudong:
学习了,的确是一个非常好的Spring boot实例,很快就写 ...
1、springboot入门案例helloworld与集成hibernate
Request.java
Response.java
HttpServer.java
package com.chen; import java.io.IOException; import java.io.InputStream; public class Request { private InputStream input ; private String uri; public Request(){} public Request(InputStream input){ this.input = input; } public void parse(){ byte by[] = new byte[2048]; int len = 0 ; StringBuilder sb = new StringBuilder(); try { //while(len!=-1){ len =input.read(by); System.out.println("len="+len); if(len>0){ sb.append(new String(by,0,len)); } //} } catch (IOException e) { e.printStackTrace(); } this.uri = parseUri(sb.toString()); } private String parseUri(String str) { int index1 , index2 ; index1 = str.indexOf(' '); if(index1!=-1){ index2 = str.indexOf(' ',index1+1); if(index2>index1) return str.substring(index1+1,index2); } return null; } public String getUri() { return uri; } public void setUri(String uri) { this.uri = uri; } }
Response.java
package com.chen; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.OutputStream; public class Response { private static final int BUFFER_SIZE=1024; private OutputStream output; private Request request ; public Response(){} public Response(OutputStream output){ this.output = output; } public Request getRequest() { return request; } public void setRequest(Request request) { this.request = request; } public void sendStaticResource() throws IOException{ byte[] bytes = new byte[BUFFER_SIZE]; FileInputStream fis = null; try{ System.out.println("uri:"+request.getUri()); File file = new File(HttpServer.WEB_ROOT,request.getUri()); if(file.exists()){ fis = new FileInputStream(file); int ch = fis.read(bytes,0,BUFFER_SIZE); while(ch!=-1){ output.write(bytes,0,ch); ch = fis.read(bytes, 0, BUFFER_SIZE); } }else{ String errorMessage="HTTP/1.1 404 File Not Found\r\n" + "Content-Type:text/html\r\n" + "Content-Length:23\r\n" + "\r\n" + "<h1>File Not Found!</h1>"; output.write(errorMessage.getBytes()); } }catch(Exception e){ e.printStackTrace(); }finally{ if(fis!=null){ fis.close(); } } } }
HttpServer.java
package com.chen; import java.io.File; import java.io.InputStream; import java.io.OutputStream; import java.net.InetAddress; import java.net.ServerSocket; import java.net.Socket; public class HttpServer { public static final String WEB_ROOT=System.getProperty("user.dir") +File.separator+"webroot"; public static final String SHUTDOWN_COMMAND="/SHUTDOWN"; public static void main(String[] args) { HttpServer server = new HttpServer(); server.await(); } private boolean shutdown = false; public void await(){ ServerSocket serverSocket = null; int port = 8080; try{ serverSocket = new ServerSocket(port, 1, InetAddress.getByName("127.0.0.1")); }catch(Exception e){ e.printStackTrace(); System.exit(1); } while(!shutdown){ Socket socket = null; InputStream input = null; OutputStream output = null; try{ socket = serverSocket.accept(); input = socket.getInputStream(); output = socket.getOutputStream(); Request request = new Request(input); request.parse(); Response response = new Response(output); response.setRequest(request); response.sendStaticResource(); socket.close(); }catch(Exception e){ e.printStackTrace(); System.exit(1); } } } }
发表评论
-
8、在docker上部署简单javaweb应用
2016-04-24 19:12 8941、创建容器javaweb1,并添加数据卷便于将安装文件共享到 ... -
7、Docker容器的数据管理
2016-04-24 17:56 1157一、Docker容器的数据卷 ... -
6、Docker容器的网络连接
2016-04-24 17:54 1716一、Docker容器的网络基础 dock ... -
4、Docker镜像
2016-04-22 09:05 844一、什么是Docker镜像 ... -
5、Docker客户端和守护进程
2016-04-22 09:04 1017一、Docker的C/S模式 ... -
3、Docker容器常用命令与在容器中部署静态网站
2016-04-22 09:04 898一、容器的基本操作 ... -
2、Docker简介及docker组成部分
2016-04-22 09:03 17871、Docker提供了一个容器 ... -
1、Ubuntu14.04安装docker
2016-04-22 09:02 704一、安装前检查 1、内核版本 uname - ... -
6、java连接redis集群
2016-04-18 18:26 26441、使用Jedis 连接集群会报 MOVED错误 packag ... -
redis集群搭建
2016-04-18 16:15 592redis-cli -h 127.0.0.1 -p 6749 ... -
ubuntu14.04卸载redis并手动安装redis-3.0
2016-04-18 16:14 11551、ubuntu 卸载redis 1)卸载软件 ... -
redis五种数据类型常用基本命令总结
2016-04-14 19:00 758redis-cli 启动redis客户端,连接到redis服务 ... -
java连接远程服务器redis常遇问题
2016-04-14 18:58 32541、先在本地CMD命令中ping IP地址,网络是否正常 2、 ... -
redis虚拟机环境搭建与安装redis
2016-04-12 09:14 1784下载VMware 下载ubuntu14.iso 在VMware ... -
dubbo入门案例
2016-04-07 19:47 1220windows安装zookeeper 把下载的zookeepe ... -
webservice cxf简单案例
2016-03-30 18:44 699cxf简单java项目案例 IHelloWorld.java ... -
spring mvc教程视频
2016-01-18 17:29 8141. 韩顺平 Spring视频教程 http://www.yu ... -
Redis与Memcached比较
2016-01-13 11:01 819作为内存数据缓冲 ... -
Redis原理与简述
2016-01-13 10:46 12678Redis是一个开源的key-value存储系统。 ... -
Redis配置文件参数
2016-01-13 09:55 7612.1 Redis配置文件 为了对Redis的系统实现有一个直 ...
相关推荐
Tomcat 6.0是一款广泛使用的开源Web服务器和Servlet容器,它由Apache软件基金会的Jakarta项目开发。作为Java平台企业版(Java EE)的一部分,Tomcat主要负责执行Java Servlets和展示JavaServer Pages(JSP)。对于...
标签再次强调了这个压缩包与Tomcat5.5、Java开发以及Web服务器相关,暗示了它可能包含的文件类型和用途,比如安装程序、配置文档、示例代码或者教程。 压缩包中的唯一文件“apache-tomcat-5.5.27.exe”是Apache ...
Apache Tomcat是一个开源的Web服务器和Servlet容器,主要用来运行Java Servlet和JavaServer Pages (JSP)。而Nginx是一个高性能的HTTP和反向代理服务器,同时也是一个IMAP/POP3/SMTP服务器。 在描述中,提到了在...
Tomcat7服务器web开发 Tomcat和IIS、Apache等Web服务器一样,具有处理HTML页面的功能,另外它还是一个Servlet和JSP容器,独立的Servlet容器是Tomcat的默认模式。
### 如何在Tomcat 7.0服务器中添加Web应用及注意事项 #### 一、引言 Apache Tomcat 是一个免费开源的轻量级Servlet容器,用于开发和部署基于Java的Web应用程序。Tomcat 支持最新的Java EE标准,如Servlet、JSP等。...
【标题】"经典项目示例及Tomcat"涵盖了两个核心概念:项目实例和Tomcat服务器。这是一份针对IT从业者的重要资源,旨在提供实际工作中的参考案例,帮助开发者理解和掌握项目开发流程,同时包含了免安装版的Tomcat6,...
从Tomcat服务器的介绍,到服务器的下载、安装、配置,再到Web项目的创建、打包、部署,以及常见的部署问题和解决方案,本博客为读者提供了一个清晰的学习路径。此外,还涵盖了Tomcat的高级功能,如安全性、性能监控...
Tomcat是目前比较流行的Web服务器之一。作为一个开源和小型的轻量级应用服务器,Tomcat 易于使用,便于部署,但Tomcat本身是一个非常复杂的系统,包含了很多功能模块。这些功能模块构成了Tomcat的核心结构。本书从...
最后,“tomcatjava.webkfjs_600it”很可能是一份完整的Tomcat与Java.Web开发的电子书,包含了详细的理论知识、实践示例和问题解决方案。 学习这些内容可以帮助开发者建立扎实的Java Web开发基础,理解Web应用的...
它是一个开源的、轻量级的Web应用服务器,主要用于运行基于Java Servlet和JavaServer Pages(JSP)的应用程序。Tomcat是Apache软件基金会的Jakarta项目下的一个子项目,其设计目标是提供一个符合Java EE标准的...
《Tomcat与Java.Web开发技术详解》是一本深入解析Tomcat服务器和Java Web开发的教程,结合源代码和丰富的学习资源,旨在帮助开发者全面理解并掌握相关技术。书中的标签"Tomcat与Web"明确了主要讨论的内容是围绕...
它以其小巧、高效、易用的特点,成为了许多初学者和小型企业首选的Java Web服务器。Tomcat的配置和管理相对简单,适合快速搭建和测试Java Web应用。 在Java Web开发中,Servlet是Java EE平台的核心组件之一,它是...
4. 部署服务:将服务部署到Web服务器,如Tomcat或Jetty。 五、调用Web服务 调用Web服务通常有两种方式:SOAP客户端和RESTful客户端。对于SOAP,可以使用JAX-WS或者Apache Axis2等库来生成客户端代码。对于RESTful...
孙老师的Java Web教程源码很可能是包含了一个完整的Web应用示例,可能涵盖以下内容: 1. **Servlet基础**:包括Servlet的生命周期、初始化、服务、销毁方法,以及如何通过`@WebServlet`注解或`web.xml`文件来注册...
在IT行业中,Tomcat是一款广泛使用的开源Web应用服务器,它主要负责运行基于Java Servlet和JavaServer Pages(JSP)的应用程序。本主题“Tomcat与Java.Web开发技术详解源代码”将深入探讨Tomcat的工作原理、配置方法...
3. **Servlet**:Servlet是Java平台上的服务器端组件,用于扩展Web服务器的功能。通过源代码,读者可以学习到Servlet生命周期、请求处理、响应生成等核心概念,并理解如何在实际项目中编写和调用Servlet。 4. **JSP...
总的来说,实现Tomcat服务器上不同Web项目的session共享是一个涉及多方面技术的问题,需要对Java Web开发、Tomcat服务器配置以及安全性有深入理解。根据项目的规模和复杂性,选择合适的方法可以有效地提升用户体验并...
标题中的“Java开发的简单WEB服务器源码Java实用源码整理learns”表明这是一个关于Java Web服务器开发的项目,可能是为了教学或者学习目的而编写的。这个项目可能包含了一个简单的HTTP服务器实现,允许用户理解Web...
书中通过一系列具体的示例来展示如何利用Tomcat进行Web应用的开发和部署,这些案例涵盖了从简单的Hello World应用到复杂的多层架构应用。每个案例都详细讲解了实现步骤、配置方法及常见问题的解决策略,为读者提供了...
《Tomcat与Java Web开发技术详解(第2版)》是孙卫琴先生撰写的一本经典教程,专注于讲解如何使用Apache Tomcat服务器进行Java Web应用的开发。这本书深入浅出地介绍了Tomcat的基础架构、配置、优化以及故障排查,同时...