|
Jetty example source code file (AnnotationTest.java)
The Jetty AnnotationTest.java source code/** * */ package com.acme; import java.io.IOException; import javax.naming.InitialContext; import javax.servlet.ServletConfig; import javax.servlet.ServletException; import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.sql.DataSource; import javax.transaction.UserTransaction; import javax.annotation.Resource; import javax.annotation.PostConstruct; import javax.annotation.PreDestroy; import javax.annotation.security.RunAs; /** * AnnotationTest * * Use Annotations from within Jetty. * * Also, use servlet spec 2.5 resource injection and lifecycle callbacks from within the web.xml * to set up some of the JNDI resources. * */ @RunAs("special") public class AnnotationTest extends HttpServlet { private String postConstructResult = ""; private String dsResult = ""; private String envResult = ""; private String envLookupResult = ""; private String envResult2 =""; private String envLookupResult2 = ""; private String envResult3 = ""; private String envLookupResult3 = ""; private String dsLookupResult = ""; private String txResult = ""; private String txLookupResult = ""; private DataSource myDS; @Resource(mappedName="UserTransaction") private UserTransaction myUserTransaction; @Resource(mappedName="maxAmount") private Double maxAmount; @Resource(name="someAmount") private Double minAmount; @Resource private Double avgAmount; @Resource(mappedName="jdbc/mydatasource") public void setMyDatasource(DataSource ds) { myDS=ds; } @PostConstruct private void myPostConstructMethod () { postConstructResult = "Called"; try { dsResult = (myDS==null?"FAIL":"myDS="+myDS.toString()); } catch (Exception e) { dsResult = "FAIL: "+e; } envResult = (maxAmount==null?"FAIL":"maxAmount="+maxAmount.toString()); try { InitialContext ic = new InitialContext(); envLookupResult = "java:comp/env/com.acme.AnnotationTest/maxAmount="+ic.lookup("java:comp/env/com.acme.AnnotationTest/maxAmount"); } catch (Exception e) { envLookupResult = "FAIL: "+e; } envResult2 = (minAmount==null?"FAIL":"minAmount="+minAmount.toString()); try { InitialContext ic = new InitialContext(); envLookupResult2 = "java:comp/env/someAmount="+ic.lookup("java:comp/env/someAmount"); } catch (Exception e) { envLookupResult2 = "FAIL: "+e; } envResult3 = (minAmount==null?"FAIL":"avgAmount="+avgAmount.toString()); try { InitialContext ic = new InitialContext(); envLookupResult3 = "java:comp/env/com.acme.AnnotationTest/avgAmount="+ic.lookup("java:comp/env/com.acme.AnnotationTest/avgAmount"); } catch (Exception e) { envLookupResult3 = "FAIL: "+e; } try { InitialContext ic = new InitialContext(); dsLookupResult = "java:comp/env/com.acme.AnnotationTest/myDatasource="+ic.lookup("java:comp/env/com.acme.AnnotationTest/myDatasource"); } catch (Exception e) { dsLookupResult = "FAIL: "+e; } txResult = (myUserTransaction==null?"FAIL":"myUserTransaction="+myUserTransaction); try { InitialContext ic = new InitialContext(); txLookupResult = "java:comp/env/com.acme.AnnotationTest/myUserTransaction="+ic.lookup("java:comp/env/com.acme.AnnotationTest/myUserTransaction"); } catch (Exception e) { txLookupResult = "FAIL: "+e; } } @PreDestroy private void myPreDestroyMethod() { System.err.println("PreDestroy called"); } public void init(ServletConfig config) throws ServletException { super.init(config); } /* ------------------------------------------------------------ */ public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); } /* ------------------------------------------------------------ */ public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { try { response.setContentType("text/html"); ServletOutputStream out = response.getOutputStream(); out.println("<html>"); out.println("<h1>Jetty6 Annotation Results"); out.println("<body>"); out.println("<h2>@PostConstruct Callback"); out.println("<pre>"); out.println("@PostConstruct"); out.println("private void myPostConstructMethod ()"); out.println("{}"); out.println("</pre>"); out.println("<br/>Result: "+postConstructResult+""); out.println("<h2>@Resource Injection for DataSource"); out.println("<pre>"); out.println("@Resource(mappedName=\"jdbc/mydatasource\");"); out.println("public void setMyDatasource(DataSource ds)"); out.println("{"); out.println("myDS=ds;"); out.println("}"); out.println("</pre>"); out.println("<br/>Result: "+dsResult+""); out.println("<br/>JNDI Lookup Result: "+dsLookupResult+""); out.println("<h2>@Resource Injection for env-entry "); out.println("<pre>"); out.println("@Resource(mappedName=\"maxAmount\")"); out.println("private Double maxAmount;"); out.println("@Resource(name=\"minAmount\")"); out.println("private Double minAmount;"); out.println("</pre>"); out.println("<br/>Result: "+envResult+": "+(maxAmount.compareTo(new Double(55))==0?" PASS":" FAIL")+""); out.println("<br/>JNDI Lookup Result: "+envLookupResult+""); out.println("<br/>Result: "+envResult2+": "+(minAmount.compareTo(new Double("0.99"))==0?" PASS":" FAIL")+""); out.println("<br/>JNDI Lookup Result: "+envLookupResult2+""); out.println("<br/>Result: "+envResult3+": "+(avgAmount.compareTo(new Double("1.25"))==0?" PASS":" FAIL")+""); out.println("<br/>JNDI Lookup Result: "+envLookupResult3+""); out.println("<h2>@Resource Injection for UserTransaction "); out.println("<pre>"); out.println("@Resource(mappedName=\"UserTransaction\")"); out.println("private UserTransaction myUserTransaction;"); out.println("</pre>"); out.println("<br/>Result: "+txResult+""); out.println("<br/>JNDI Lookup Result: "+txLookupResult+""); out.println("<h2>@RunAs"); boolean result = request.isUserInRole("special"); out.println("<br/>Result: isUserInRole(\"special\")="+result+":"+(result==true?" PASS":" FAIL")+""); result = request.isUserInRole("other"); out.println("<br/>Result: isUserInRole(\"other\")="+result+":"+ (result==false?" PASS":" FAIL")+""); out.println("</body>"); out.println("</html>"); out.flush(); } catch (Exception e) { throw new ServletException(e); } } } Other Jetty examples (source code examples)Here is a short list of links related to this Jetty AnnotationTest.java source code file: |
... this post is sponsored by my books ... | |
#1 New Release! |
FP Best Seller |
Copyright 1998-2021 Alvin Alexander, alvinalexander.com
All Rights Reserved.
A percentage of advertising revenue from
pages under the /java/jwarehouse
URI on this website is
paid back to open source projects.