Should I add @Override annotation when overriding doGet() and doPost() methods from javax.servlet.http.HttpServlet?  For example:  @WebServlet("/") public class MyServlet extends HttpServlet {     @Override     protected void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {         /* my code */     } }   I've never seen code that adds @Override annotation to servlet code.
1079
What are the best practices for using Java's @Override annotation and why?     It seems like it would be overkill to mark every single overridden method with the @Override annotation.   Are there certain programming situations that call for using the @Override and others that should never use the @Override?
7194
I read about Java's type erasure .  When does type erasure occur? At compile time or runtime? When the class is loaded? When the class is instantiated?  A lot of sites (including the official tutorial mentioned above) say type erasure occurs at compile time. If the type information is completely removed at compile time, how does the JDK check type compatibility when a method using generics is invoked with no type information or wrong type information?  Consider the following example: Say class A has a method, empty(Box&lt;?&nbsp;extends&nbsp;Number&gt;&nbsp;b). We compile A.java and get the class file A.class.  public class A {     public static void empty(Box&lt;? extends Number&gt; b) {} }     public class Box&lt;T&gt; {}   Now we create another class B which invokes the method empty with a non-parameterized argument (raw type): empty(new Box()). If we compile B.java with A.class in the classpath, javac is smart enough to raise a warning. So A.class has some type information stored in it.  public class B {     public static void invoke() {         // java: unchecked method invocation:         //  method empty in class A is applied to given types         //  required: Box&lt;? extends java.lang.Number&gt;         //  found:    Box         // java: unchecked conversion         //  required: Box&lt;? extends java.lang.Number&gt;         //  found:    Box         A.empty(new Box());     } }   My guess would be that type erasure occurs when the class is loaded, but it is just a guess. So when does it happen?
110069
My implementation of httpclient occasionally throws an exception when calling doGetConnection(). However, I have the following timeout set  _moHttpClient.setHttpConnectionFactoryTimeout(30000);   it looks almost like my timeout is not being picked up. Is there anywhere else I need to set a timeout to ensure this behaviour does not re-occur
123439
Ok, bear with me guys and girls as I'm learning.  Here's my question.  I can't figure out why I can't override a method from a parent class.  Here's the code from the base class (yes, I pilfered the java code from an OOP book and am trying to rewrite it in C#).  using System;  public class MoodyObject {     protected String getMood()     {         return "moody";     }      public void queryMood()     {         Console.WriteLine("I feel " + getMood() + " today!");     } }   and here are my other 2 objects that inherit the base class (MoodyObject):  using System; using System.Collections.Generic; using System.Linq; using System.Text;  namespace ConsoleApplication1 {     public class SadObject: MoodyObject     {         protected String getMood()         {             return "sad";         }          //specialization         public void cry()         {             Console.WriteLine("wah...boohoo");         }     } }   And:  using System; using System.Collections.Generic; using System.Linq; using System.Text;  namespace ConsoleApplication1 {     public class HappyObject: MoodyObject     {         protected String getMood()         {             return "happy";         }          public void laugh()         {             Console.WriteLine("hehehehehehe.");         }     } }   and here is my main:  using System; using System.Collections.Generic; using System.Linq; using System.Text;  namespace ConsoleApplication1 {     class Program     {         static void Main(string[] args)         {             MoodyObject moodyObject = new MoodyObject();             SadObject sadObject = new SadObject();             HappyObject happyObject = new HappyObject();              Console.WriteLine("How does the moody object feel today?");             moodyObject.queryMood();             Console.WriteLine("");             Console.WriteLine("How does the sad object feel today?");             sadObject.queryMood();             sadObject.cry();             Console.WriteLine("");             Console.WriteLine("How does the happy object feel today?");             happyObject.queryMood();             happyObject.laugh();         }     } }   As you can see, pretty basic stuff, but here's the output:     How does the moody object feel today?   I feel moody today!      How does the sad object feel today? I   feel moody today! wah...boohoo      How does the happy object feel today?   I feel moody today! hehehehehehe.   Press any key to continue . . .   Not as I expected.  I've tried to make the base method virtual and calling override when trying to override it and that just gets me this error "cannot override inherited member 'MoodyObject.getMood()' because it is not marked virtual, abstract, or override".  I also tried it without the virtual and override and it thinks I'm trying to hide the base method.  Again, I'm new to OOP and would appreciate any guidance.  EDITED TO ADD:  I found it!  The MoodyObject.cs was only a "solution item" in the solution explorer as opposed to a "ConsoleApplication1" item.  I dragged it down to where it belonged in the solution explorer and voila!  It works now.  I marked Luc's answer below as the answer because he offered the help I needed to get to where I have it resolved... I'm learning so much here.  It's amazing and you guys and girls are crazy smart!
55826
I'm curious to see if you can overload controller methods in ASP.NET MVC.  Whenever I try, I get the error below.  The two methods accept different arguments.  Is this something that cannot be done?     The current request for action 'MyMethod' on controller type 'MyController' is ambiguous between the following action methods:
29674
Why do we need an init() method in servlet? Can't we use the constructor to initialization?
30947
I have a trigger on the Custom Object that calls a class. That class makes an HTTP GET request to a Web Service.  However I get the following error:  Callout from triggers are currently not supported.  How can I get data to an external Web Service using Apex code?  However i can use @future method but it can only be support void and this method cannot return results, i need to be able to send data to external ervice and receive acknowlegements from it.
123109
Say I am extending The blockBase class to create a custom block, and I am implementing the blockBuild method to create some markup for my block. Something like this:   class YourModuleBlock extends BlockBase {     /**      * Implements \Drupal\block\BlockBase::blockBuild().      */      public function build() {       return array(         '#markup' =&gt; 'This is a block!',       );      }    }   If I wanted to provide a link in this markup, in D7 I would have used the l function, but this is no longer available (). So, I need to make available the new D8 method for generating links. I could just use an &lt;a&gt; tag, but this was never best practice in D7.  So, what is the right method to use for creating links and how do I make it available to my function?
13754
I'm looking into a restful design and would like to use the HTTP methods (POST, GET, ...) and HTTP headers as much as possible. I already found out that the HTTP methods PUT and DELETE are not supported from the browser.  Now I'm looking to get different representations of the same resource and would like to do this by changing the Accept header of the request. Depending on this Accept header, the server can serve a different view on the same resource.  Problem is that I didn't find a way to tell my browser to change this header.   The &lt;a..&gt; tag has a , that can have a mime type, looked like a good candidate but the header was still the browser default (in Firefox it can be changed in about:config with the network.http.accept.default key).
20428
I have a bunch of Spring beans which are picked up from the classpath via annotations, e.g.  @Repository("personDao") public class PersonDaoImpl extends AbstractDaoImpl implements PersonDao {     // Implementation omitted }   In the Spring XML file, there's a  defined:  &lt;bean id="propertyConfigurer"    class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"&gt;     &lt;property name="location" value="/WEB-INF/app.properties" /&gt; &lt;/bean&gt;    I want to inject one of the properties from app.properites into the bean shown above. I can't simply do something like   &lt;bean class="com.example.PersonDaoImpl"&gt;     &lt;property name="maxResults" value="${results.max}"/&gt; &lt;/bean&gt;   Because PersonDaoImpl does not feature in the Spring XML file (it is picked up from the classpath via annotations). I've got as far as the following:  @Repository("personDao") public class PersonDaoImpl extends AbstractDaoImpl implements PersonDao {      @Resource(name = "propertyConfigurer")     protected void setProperties(PropertyPlaceholderConfigurer ppc) {     // Now how do I access results.max?      } }   But it's not clear to me how I access the property I'm interested in from ppc?
18034
when i try to save the following code, i got the error below. Following same instructions given in this link, but still errors. Am i doing anything wrong here? please suggest.    @isTest private class WebSvcCalloutTest {     @isTest static void testEchoString() {         Account a = new Account(name='Tester',SAP_KUNNR__c='1172');         insert a;                       // This causes a fake response to be generated         Test.setMock(WebServiceMock.class, new WebServiceMockImpl());      } }   Error:  Save error: Method does not exist or incorrect signature: Test.setMock(Type, WebServiceMockImpl)    WebSvcCalloutTest.cls         @isTest global class WebServiceMockImpl implements WebServiceMock {    global void doInvoke(            Object stub,            Object request,            Map&lt;String, Object&gt; response,            String endpoint,            String soapAction,            String requestName,            String responseNS,            String responseName,            String responseType) {          sapComDocumentSapSoapFunctionsMcS.Z_GSSMWFM_HNDL_EVNTRQST00 sap1 = new sapComDocumentSapSoapFunctionsMcS.Z_GSSMWFM_HNDL_EVNTRQST00();                Map&lt;String,String&gt; mapSAP = new Map&lt;String,String&gt; {};         sapComDocumentSapSoapFunctionsMcS.ZgssmbstDatarcrd01 req = new sapComDocumentSapSoapFunctionsMcS.ZgssmbstDatarcrd01();               sapComDocumentSapSoapFunctionsMcS.ZGssmwfmHndlEvntrqst00Response_element ret =  sap1.ZGssmwfmHndlEvntrqst00('',req);         response.put('response_x', ret);     } }
89069
In the javadoc it says that EventListener is      "A tagging interface that all event listener interfaces must extend."   Why is that? What's the significance of making a custom listener implement EventListner? Is there any special handling for EventListner somewhere?
84581
Im trying to improve the Java Html Document a little but i'm running into problems with the HttpUrlConntion. One thing is that some servers block a request if the user agent is a Java VM. Another problem is that the HttpUrlConnection does not set the Referrer or Location header field. Since several sites use these fields to verify that the content was accessed from their own site, I'm blocked here as well. As far as I can see the only resolution is to replace the URL handler of the HTTP protocol. Or is there any way to modify the default HTTP Handler?
112817
Before I go and create a custom tag or Java method to do it, what is the standard way to escape HTML characters in JSP?  I have a String object and I want to display it in the HTML so that it appears to the user as is.  For example:  String a = "Hello &lt; World";   Would become:  Hello &amp;lt; World
63863
I have a subclass with an over-ridden method that I know always returns a particular subtype of the return type declared in the base class.  If I write the code this way, it won't compile.  Since that probably doesn't make sense, let me give a code example:  class BaseReturnType { } class DerivedReturnType : BaseReturnType { }  abstract class BaseClass {     public abstract BaseReturnType PolymorphicMethod(); }  class DerivedClass : BaseClass {     // Compile Error: return type must be 'BaseReturnType' to match      // overridden member 'BaseClass.PolymorphicMethod()'     public override DerivedReturnType PolymorphicMethod() {          return new DerivedReturnType();      } }   Is there any way to accomplish this in C#?  If not, what's the best way to achieve something similar?  And why isn't it allowed?  It doesn't seem to allow any logical inconsistency, since any object returned from the over-ridden method still is BaseReturnType.  Maybe there is something I hadn't considered though.  Or maybe the reason is technological or historical.
50531
I deploy a webapp on two different containers (Tomcat and Jetty), but their default servlets for serving the static content have a different way of handling the URL structure I want to use ().  I am therefore looking to include a small servlet in the webapp to serve its own static content (images, CSS, etc.). The servlet should have the following properties:   No external dependencies Simple and reliable Support for  header (i.e. custom  method) (Optional) support for gzip encoding, etags,...   Is such a servlet available somewhere? The closest I can find is  from the servlet book.  Update: The URL structure I want to use - in case you are wondering - is simply:      &lt;servlet-mapping&gt;             &lt;servlet-name&gt;main&lt;/servlet-name&gt;             &lt;url-pattern&gt;/*&lt;/url-pattern&gt;     &lt;/servlet-mapping&gt;     &lt;servlet-mapping&gt;             &lt;servlet-name&gt;default&lt;/servlet-name&gt;             &lt;url-pattern&gt;/static/*&lt;/url-pattern&gt;     &lt;/servlet-mapping&gt;   So all requests should be passed to the main servlet, unless they are for the static path. The problem is that Tomcat's default servlet does not take the ServletPath into account (so it looks for the static files in the main folder), while Jetty does (so it looks in the static folder).
11
I've always been one to simply use:  List&lt;String&gt; names = new ArrayList&lt;&gt;();   I use the interface as the type name for portability, so that when I ask questions such as these I can rework my code.    When should  be used over  and vice-versa?