MCPcopy Index your code
hub / github.com/defineYIDA/LWebServer

github.com/defineYIDA/LWebServer @V1.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release V1.0 ↗ · + Follow
116 symbols 259 edges 41 files 46 documented · 40%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

简单HTTP服务器(包括HTTP服务器和Servlet容器)

具备的功能(均为简化版的实现):

  • HTTP Protocol
  • Servlet
  • ServletContext
  • Request
  • Response
  • Dispatcher
  • Static Resources & File Download
  • Error Notification
  • Get & Post & Put & Delete
  • web.xml parse
  • Forward
  • Redirect
  • Simple TemplateEngine
  • session
  • cookie

使用技术

基于Java BIO、多线程、Socket网络编程、XML解析、log4j/slf4j日志 只引入了junit,lombok(简化POJO开发),slf4j,log4j,dom4j(解析xml),mime-util(用于判断文件类型)依赖,与web相关内容全部自己完成。

准备添加的功能:

  • NIO实现多路复用
  • 手写WebSocket服务器,实现HTTP长连接
  • Filter
  • Listener

Extension points exported contracts — how you extend this code

RequestDispatcher (Interface)
Created by zl on 2019/03/01. [2 implementers]
src/main/java/cn/lws/server/request/dispatcher/RequestDispatcher.java

Core symbols most depended-on inside this repo

close
called by 8
src/main/java/cn/lws/server/HTTPServer.java
handle
called by 6
src/main/java/cn/lws/server/resource/ResourceHandler.java
header
called by 5
src/main/java/cn/lws/server/response/Response.java
body
called by 5
src/main/java/cn/lws/server/response/Response.java
getBytesFromFile
called by 4
src/main/java/cn/lws/server/util/IOUtil.java
getAttribute
called by 3
src/main/java/cn/lws/server/request/Request.java
write
called by 3
src/main/java/cn/lws/server/response/Response.java
getTypes
called by 3
src/main/java/cn/lws/server/util/MimeTypeUtil.java

Shape

Method 74
Class 38
Enum 3
Interface 1

Languages

Java100%

Modules by API surface

src/main/java/cn/lws/server/response/Response.java10 symbols
src/main/java/cn/lws/server/request/Request.java9 symbols
src/main/java/cn/lws/server/servlet/context/ServletContext.java8 symbols
src/main/java/cn/lws/server/HTTPServer.java8 symbols
src/main/java/cn/lws/server/servlet/base/HTTPServlet.java6 symbols
src/main/java/cn/lws/server/model/HTTPSession.java5 symbols
src/main/java/cn/lws/server/servlet/base/DispatcherServlet.java4 symbols
src/test/java/cn/lws/server/util/IOUtilTest.java3 symbols
src/main/java/cn/lws/server/util/IOUtil.java3 symbols
src/main/java/cn/lws/server/servlet/user/LoginServlet.java3 symbols
src/main/java/cn/lws/server/service/UserService.java3 symbols
src/main/java/cn/lws/server/resource/ResourceHandler.java3 symbols

For agents

$ claude mcp add LWebServer \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact