Changeset 68
- Timestamp:
- 05/06/05 17:25:54 (4 years ago)
- Files:
-
- trunk/dsp/ServletCompiler.d (modified) (1 diff)
- trunk/dspconf/config.xml (modified) (1 diff)
- trunk/server.d (modified) (2 diffs)
- trunk/server.xml (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/dsp/ServletCompiler.d
r67 r68 85 85 " -op" ~ 86 86 " -od" ~ cfg.tempDirectory ~ 87 " -of" ~ cfg.destServletFilename ~ 87 88 " mango.lib" ~ 88 89 " servlet.def" ~ trunk/dspconf/config.xml
r67 r68 4 4 <cache-size value="2"/> 5 5 <runtime-directory value="c:\dev\dsp\trunk\runtime/"/> 6 <build-options value=" "/>6 <build-options value="-inline -release"/> 7 7 </config> trunk/server.d
r59 r68 1 1 /* 2 Copyright (c) 2005, Eric Anderton 3 2 Copyright (c) 2005 Eric Anderton 3 Original (non-DSP version) - Copyright (c) 2004 Kris Bell, Scott Sanders 4 4 5 Permission is hereby granted, free of charge, to any person 5 6 obtaining a copy of this software and associated documentation … … 24 25 */ 25 26 27 pragma(lib,"ws2_32.lib"); 28 29 // for a variety of servlet IO 30 import mango.io.Uri, 31 mango.io.Socket, 32 mango.io.FileBucket, 33 mango.io.DisplayWriter, 34 mango.io.PickleRegistry; 35 36 // for numeric conversion 37 import mango.format.Int; 38 39 // for threads 40 import mango.base.System; 41 42 //for logging 43 import mango.log.Admin, 44 mango.log.Logger, 45 mango.log.Configurator; 46 47 // for testing the http server 48 import mango.http.server.HttpServer; 49 50 // for testing the http client 51 import mango.http.client.HttpClient; 52 53 // for testing the servlet-engine 54 import mango.servlet.Servlet, 55 mango.servlet.ServletContext, 56 mango.servlet.ServletProvider; 57 58 // for working with cache entries 59 import mango.cache.Payload, 60 mango.cache.VirtualCache; 61 62 // setup a logger for module scope 63 private Logger mainLogger; 64 65 import dsp.servlet.DSPServlet; 66 import dsp.servlet.DSPServletProvider; 67 import dsp.servlet.DSPServletContext; 68 69 import mango.format.Int; 70 71 void testServletEngine () 72 { 73 mainLogger.info ("registering servlets"); 74 75 // construct a servlet-provider 76 DSPServletProvider sp = new DSPServletProvider("server.xml"); 77 78 // create a context for admin servlets 79 sp.addContext (new AdminContext (sp, "/admin")); 80 81 // create a context for example dsp servlets 82 sp.addContext (new DSPServletContext (sp,"/foo/bar","c:/dev/dsp/trunk/dspconf")); 83 84 // fire up a server 85 mainLogger.info ("starting server"); 26 86 27 87 88 /*** bind to port and an address ***/ 89 90 uint port = 0; 91 char[] serverPort = sp.getConfiguration.get("server-port"); 92 if(serverPort) port = Int.parse(serverPort); 93 if(port == 0) port = 80; 94 95 char[] serverAddress = sp.getConfiguration.get("server-address"); 96 if(!serverAddress) serverAddress = "127.0.0.1"; 97 98 InternetAddress addr = new InternetAddress (serverAddress,port); 28 99 100 // create a (1 thread) server using the IProvider to service requests 101 uint threads = 0; 102 char[] serverThreads = sp.getConfiguration.get("server-threads"); 103 if(serverThreads) threads = Int.parse(serverThreads); 104 if(threads == 0) threads = 1; 105 106 HttpServer server = new HttpServer (sp, addr, threads, mainLogger); 107 108 // start listening for requests (but this thread does not listen) 109 server.start (); 29 110 111 // send this thread to sleep for ever ... 112 System.sleep (); 113 114 // should never get here 115 mainLogger.info ("halting server"); 116 } 117 118 int main () 119 { 120 BasicConfigurator.configure (); 121 mainLogger = Logger.getLogger ("dsp.servlets"); 122 mainLogger.setLevel (mainLogger.Level.Info); 123 124 try { 125 testServletEngine(); 126 127 mainLogger.info ("Done"); 128 } catch (Exception x) 129 { 130 mainLogger.error (x.msg); 131 } 132 return 0; 133 } trunk/server.xml
r67 r68 6 6 <server-threads value="5"/> 7 7 <server-port value="8080"/> 8 <server-address value=" 127.0.0.1"/>8 <server-address value="localhost"/> 9 9 </config>
