| @@ -0,0 +1,60 @@ | ||
| <?xml version="1.0" encoding="UTF-8"?> | ||
| <module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4"> | ||
| <component name="FacetManager"> | ||
| <facet type="web" name="Web"> | ||
| <configuration> | ||
| <descriptors> | ||
| <deploymentDescriptor name="web.xml" url="file://$MODULE_DIR$/web.xml" /> | ||
| </descriptors> | ||
| <webroots> | ||
| <root url="file://$MODULE_DIR$/src/main/webapp" relative="/WEB-INF" /> | ||
| </webroots> | ||
| <sourceRoots> | ||
| <root url="file://$MODULE_DIR$/src/main/java" /> | ||
| <root url="file://$MODULE_DIR$/src/main/resources" /> | ||
| </sourceRoots> | ||
| </configuration> | ||
| </facet> | ||
| </component> | ||
| <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_5" inherit-compiler-output="false"> | ||
| <output url="file://$MODULE_DIR$/target/classes" /> | ||
| <output-test url="file://$MODULE_DIR$/target/test-classes" /> | ||
| <content url="file://$MODULE_DIR$"> | ||
| <sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" /> | ||
| <sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" /> | ||
| <sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" /> | ||
| <excludeFolder url="file://$MODULE_DIR$/target" /> | ||
| </content> | ||
| <orderEntry type="inheritedJdk" /> | ||
| <orderEntry type="sourceFolder" forTests="false" /> | ||
| <orderEntry type="library" name="Maven: io.netty:netty-all:4.0.32.Final" level="project" /> | ||
| <orderEntry type="library" name="Maven: org.mortbay.jetty:jetty:6.1.25" level="project" /> | ||
| <orderEntry type="library" name="Maven: org.mortbay.jetty:jetty-util:6.1.25" level="project" /> | ||
| <orderEntry type="library" name="Maven: org.mortbay.jetty:servlet-api:2.5-20081211" level="project" /> | ||
| <orderEntry type="library" name="Maven: org.glassfish.jersey.containers:jersey-container-servlet:2.22.1" level="project" /> | ||
| <orderEntry type="library" name="Maven: org.glassfish.jersey.containers:jersey-container-servlet-core:2.22.1" level="project" /> | ||
| <orderEntry type="library" name="Maven: org.glassfish.jersey.core:jersey-common:2.22.1" level="project" /> | ||
| <orderEntry type="library" name="Maven: org.glassfish.jersey.bundles.repackaged:jersey-guava:2.22.1" level="project" /> | ||
| <orderEntry type="library" name="Maven: org.glassfish.hk2:osgi-resource-locator:1.0.1" level="project" /> | ||
| <orderEntry type="library" name="Maven: javax.ws.rs:javax.ws.rs-api:2.0.1" level="project" /> | ||
| <orderEntry type="library" name="Maven: org.glassfish.jersey.core:jersey-server:2.22.1" level="project" /> | ||
| <orderEntry type="library" name="Maven: org.glassfish.jersey.core:jersey-client:2.22.1" level="project" /> | ||
| <orderEntry type="library" name="Maven: org.glassfish.jersey.media:jersey-media-jaxb:2.22.1" level="project" /> | ||
| <orderEntry type="library" name="Maven: javax.annotation:javax.annotation-api:1.2" level="project" /> | ||
| <orderEntry type="library" name="Maven: org.glassfish.hk2:hk2-api:2.4.0-b31" level="project" /> | ||
| <orderEntry type="library" name="Maven: org.glassfish.hk2:hk2-utils:2.4.0-b31" level="project" /> | ||
| <orderEntry type="library" name="Maven: org.glassfish.hk2.external:aopalliance-repackaged:2.4.0-b31" level="project" /> | ||
| <orderEntry type="library" name="Maven: org.glassfish.hk2.external:javax.inject:2.4.0-b31" level="project" /> | ||
| <orderEntry type="library" name="Maven: org.glassfish.hk2:hk2-locator:2.4.0-b31" level="project" /> | ||
| <orderEntry type="library" name="Maven: org.javassist:javassist:3.18.1-GA" level="project" /> | ||
| <orderEntry type="library" name="Maven: javax.validation:validation-api:1.1.0.Final" level="project" /> | ||
| <orderEntry type="library" name="Maven: org.eclipse.jetty:jetty-servlet:7.6.0.v20120127" level="project" /> | ||
| <orderEntry type="library" name="Maven: org.eclipse.jetty:jetty-security:7.6.0.v20120127" level="project" /> | ||
| <orderEntry type="library" name="Maven: org.eclipse.jetty:jetty-server:7.6.0.v20120127" level="project" /> | ||
| <orderEntry type="library" name="Maven: javax.servlet:servlet-api:2.5" level="project" /> | ||
| <orderEntry type="library" name="Maven: org.eclipse.jetty:jetty-continuation:7.6.0.v20120127" level="project" /> | ||
| <orderEntry type="library" name="Maven: org.eclipse.jetty:jetty-http:7.6.0.v20120127" level="project" /> | ||
| <orderEntry type="library" name="Maven: org.eclipse.jetty:jetty-io:7.6.0.v20120127" level="project" /> | ||
| <orderEntry type="library" name="Maven: org.eclipse.jetty:jetty-util:7.6.0.v20120127" level="project" /> | ||
| </component> | ||
| </module> |
| @@ -0,0 +1,47 @@ | ||
| <?xml version="1.0" encoding="UTF-8"?> | ||
| <project xmlns="http://maven.apache.org/POM/4.0.0" | ||
| xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | ||
| xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> | ||
| <modelVersion>4.0.0</modelVersion> | ||
|
|
||
| <groupId>netty-server-first</groupId> | ||
| <artifactId>using-netty</artifactId> | ||
| <version>1.0-SNAPSHOT</version> | ||
| <dependencies> | ||
| <dependency> | ||
| <groupId>io.netty</groupId> | ||
| <artifactId>netty-all</artifactId> | ||
| <version>4.0.32.Final</version> | ||
| </dependency> | ||
| <dependency> | ||
| <groupId>org.mortbay.jetty</groupId> | ||
| <artifactId>jetty</artifactId> | ||
| <version>6.1.25</version> | ||
| </dependency> | ||
| <dependency> | ||
| <groupId>org.glassfish.jersey.containers </groupId> | ||
| <artifactId>jersey-container-servlet</artifactId> | ||
| <version>2.22.1</version> | ||
| </dependency> | ||
| <dependency> | ||
| <groupId>org.glassfish.jersey.core</groupId> | ||
| <artifactId>jersey-server</artifactId> | ||
| <version>2.22.1</version> | ||
| </dependency> | ||
| <dependency> | ||
| <groupId>org.eclipse.jetty</groupId> | ||
| <artifactId>jetty-servlet</artifactId> | ||
| <version>7.6.0.v20120127</version> | ||
| </dependency> | ||
| </dependencies> | ||
| <build> | ||
| <finalName>restfull</finalName> | ||
| <plugins> | ||
| <plugin> | ||
| <groupId>org.mortbay.jetty</groupId> | ||
| <artifactId>jetty-maven-plugin</artifactId> | ||
| <version>8.1.16.v20140903</version> | ||
| </plugin> | ||
| </plugins> | ||
| </build> | ||
| </project> |
| @@ -0,0 +1,68 @@ | ||
| package com; | ||
|
|
||
| import javax.ws.rs.GET; | ||
| import javax.ws.rs.Path; | ||
| import javax.ws.rs.Produces; | ||
| import javax.ws.rs.QueryParam; | ||
| import javax.ws.rs.core.MediaType; | ||
|
|
||
| /** | ||
| * Created by woqpw on 13.10.15. | ||
| */ | ||
| @Path("calculator") | ||
| public class Calculator { | ||
| @GET | ||
| @Path("squareRoot") | ||
| @Produces(MediaType.APPLICATION_JSON) | ||
| public Result squareRoot(@QueryParam("input") double input){ | ||
| Result result = new Result("Square Root"); | ||
| result.setInput(input); | ||
| result.setOutput(Math.sqrt(result.getInput())); | ||
| return result; | ||
| } | ||
| @GET | ||
| @Path("square") | ||
| @Produces(MediaType.APPLICATION_JSON) | ||
| public Result square(@QueryParam("input") double input){ | ||
| Result result = new Result("Square"); | ||
| result.setInput(input); | ||
| result.setOutput(result.getInput()*result.getInput()); | ||
| return result; | ||
| } | ||
|
|
||
| static class Result{ | ||
| double input; | ||
| double output; | ||
| String action; | ||
|
|
||
| public Result(){} | ||
|
|
||
| public Result(String action) { | ||
| this.action = action; | ||
| } | ||
|
|
||
| public String getAction() { | ||
| return action; | ||
| } | ||
|
|
||
| public void setAction(String action) { | ||
| this.action = action; | ||
| } | ||
|
|
||
| public double getInput() { | ||
| return input; | ||
| } | ||
|
|
||
| public void setInput(double input) { | ||
| this.input = input; | ||
| } | ||
|
|
||
| public double getOutput() { | ||
| return output; | ||
| } | ||
|
|
||
| public void setOutput(double output) { | ||
| this.output = output; | ||
| } | ||
| } | ||
| } |
| @@ -0,0 +1,34 @@ | ||
| package com; | ||
|
|
||
| import org.eclipse.jetty.server.Server; | ||
| import org.eclipse.jetty.servlet.ServletContextHandler; | ||
| import org.eclipse.jetty.servlet.ServletHolder; | ||
|
|
||
| /** | ||
| * Created by woqpw on 13.10.15. | ||
| */ | ||
| public class RestServer { | ||
| public static void main(String[] args) throws Exception { | ||
| ServletContextHandler context = new ServletContextHandler(ServletContextHandler.SESSIONS); | ||
| context.setContextPath("/"); | ||
|
|
||
| Server jettyServer = new Server(8080); | ||
| jettyServer.setHandler(context); | ||
|
|
||
| ServletHolder jerseyServlet = context.addServlet( | ||
| org.glassfish.jersey.servlet.ServletContainer.class, "/*"); | ||
| jerseyServlet.setInitOrder(0); | ||
|
|
||
| jerseyServlet.setInitParameter( | ||
| "jersey.config.server.provider.classnames", | ||
| Calculator.class.getCanonicalName()); | ||
|
|
||
| try { | ||
| System.out.println("server started/n/n/n/n/n//nn//n/nnn//n/hey"); | ||
| jettyServer.start(); | ||
| jettyServer.join(); | ||
| } finally { | ||
| jettyServer.destroy(); | ||
| } | ||
| } | ||
| } |
| @@ -0,0 +1,5 @@ | ||
| #Generated by Maven | ||
| #Tue Oct 13 22:26:28 MSK 2015 | ||
| version=1.0-SNAPSHOT | ||
| groupId=netty-server-first | ||
| artifactId=using-netty |
| @@ -0,0 +1,3 @@ | ||
| com/Calculator$Result.class | ||
| com/Calculator.class | ||
| com/RestServer.class |
| @@ -0,0 +1,2 @@ | ||
| /Users/woqpw/GitHub/java/firstNettyServer/src/main/java/com/Calculator.java | ||
| /Users/woqpw/GitHub/java/firstNettyServer/src/main/java/com/RestServer.java |
| @@ -0,0 +1,25 @@ | ||
| <web-app id="WebApp_ID" version="2.4" | ||
| xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | ||
| xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee | ||
| http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> | ||
| <display-name>Archetype Created Web Application</display-name> | ||
|
|
||
| <display-name>Restful Web Application</display-name> | ||
|
|
||
| <servlet> | ||
| <servlet-name>jersey-serlvet</servlet-name> | ||
| <servlet-class> | ||
| org.glassfish.jersey.servlet.ServletContainer | ||
| </servlet-class> | ||
| <init-param> | ||
| <param-name>com.sun.jersey.config.property.packages</param-name> | ||
| <param-value>com</param-value> | ||
| </init-param> | ||
| <load-on-startup>1</load-on-startup> | ||
| </servlet> | ||
|
|
||
| <servlet-mapping> | ||
| <servlet-name>jersey-serlvet</servlet-name> | ||
| <url-pattern>/rest/*</url-pattern> | ||
| </servlet-mapping> | ||
| </web-app> |