Java - Can't use HttpServlet 's methods for retrieving data for a request when using @Stateless
I created a web service on which I used @Stateless annotation i.e
@Stateless
@Path("/boo/too")
public class RestController {
@Context
private HttpServletRequest request;
@Context
private ServletContext context;
@GET
@Path("/coo")
@Consumes({MediaType.APPLICATION_JSON})
@Produces({MediaType.APPLICATION_JSON})
public GetResObj getFuncName(
@HeaderParam("foo") String foo,
@QueryParam("boo") String boo
) throws Exception{
MyClass className =(ClassCast) request.getSession().getAttribute("myClassInstance");
}
Now from some reading i have done and the accurate answer to this question :
question
, I understand that a Stateless object is an object which can have variables but it's immutable (can't hold any state). When using the @Stateless annotation the request.getSession()
part of code throws a nullPointerException . When i remove the @Stateless annotation the request.getSession()
works fine .
Can you see why is this happening ?
java servlets
add a comment |
I created a web service on which I used @Stateless annotation i.e
@Stateless
@Path("/boo/too")
public class RestController {
@Context
private HttpServletRequest request;
@Context
private ServletContext context;
@GET
@Path("/coo")
@Consumes({MediaType.APPLICATION_JSON})
@Produces({MediaType.APPLICATION_JSON})
public GetResObj getFuncName(
@HeaderParam("foo") String foo,
@QueryParam("boo") String boo
) throws Exception{
MyClass className =(ClassCast) request.getSession().getAttribute("myClassInstance");
}
Now from some reading i have done and the accurate answer to this question :
question
, I understand that a Stateless object is an object which can have variables but it's immutable (can't hold any state). When using the @Stateless annotation the request.getSession()
part of code throws a nullPointerException . When i remove the @Stateless annotation the request.getSession()
works fine .
Can you see why is this happening ?
java servlets
1
Just a guess - you might try to pass the request as context parameter to the method - someting like@GET @Produces(MediaType.APPLICATION_JSON) @Path("search") public Something searchDbViews( @Context HttpServletRequest req, @Context SecurityContext sec, ...
– Gyro Gearless
Nov 23 '18 at 10:37
@GyroGearless .So how should i try to pass it instead of context ?
– Alex Lemesios
Nov 23 '18 at 10:53
add a comment |
I created a web service on which I used @Stateless annotation i.e
@Stateless
@Path("/boo/too")
public class RestController {
@Context
private HttpServletRequest request;
@Context
private ServletContext context;
@GET
@Path("/coo")
@Consumes({MediaType.APPLICATION_JSON})
@Produces({MediaType.APPLICATION_JSON})
public GetResObj getFuncName(
@HeaderParam("foo") String foo,
@QueryParam("boo") String boo
) throws Exception{
MyClass className =(ClassCast) request.getSession().getAttribute("myClassInstance");
}
Now from some reading i have done and the accurate answer to this question :
question
, I understand that a Stateless object is an object which can have variables but it's immutable (can't hold any state). When using the @Stateless annotation the request.getSession()
part of code throws a nullPointerException . When i remove the @Stateless annotation the request.getSession()
works fine .
Can you see why is this happening ?
java servlets
I created a web service on which I used @Stateless annotation i.e
@Stateless
@Path("/boo/too")
public class RestController {
@Context
private HttpServletRequest request;
@Context
private ServletContext context;
@GET
@Path("/coo")
@Consumes({MediaType.APPLICATION_JSON})
@Produces({MediaType.APPLICATION_JSON})
public GetResObj getFuncName(
@HeaderParam("foo") String foo,
@QueryParam("boo") String boo
) throws Exception{
MyClass className =(ClassCast) request.getSession().getAttribute("myClassInstance");
}
Now from some reading i have done and the accurate answer to this question :
question
, I understand that a Stateless object is an object which can have variables but it's immutable (can't hold any state). When using the @Stateless annotation the request.getSession()
part of code throws a nullPointerException . When i remove the @Stateless annotation the request.getSession()
works fine .
Can you see why is this happening ?
java servlets
java servlets
asked Nov 23 '18 at 10:28
Alex LemesiosAlex Lemesios
314214
314214
1
Just a guess - you might try to pass the request as context parameter to the method - someting like@GET @Produces(MediaType.APPLICATION_JSON) @Path("search") public Something searchDbViews( @Context HttpServletRequest req, @Context SecurityContext sec, ...
– Gyro Gearless
Nov 23 '18 at 10:37
@GyroGearless .So how should i try to pass it instead of context ?
– Alex Lemesios
Nov 23 '18 at 10:53
add a comment |
1
Just a guess - you might try to pass the request as context parameter to the method - someting like@GET @Produces(MediaType.APPLICATION_JSON) @Path("search") public Something searchDbViews( @Context HttpServletRequest req, @Context SecurityContext sec, ...
– Gyro Gearless
Nov 23 '18 at 10:37
@GyroGearless .So how should i try to pass it instead of context ?
– Alex Lemesios
Nov 23 '18 at 10:53
1
1
Just a guess - you might try to pass the request as context parameter to the method - someting like
@GET @Produces(MediaType.APPLICATION_JSON) @Path("search") public Something searchDbViews( @Context HttpServletRequest req, @Context SecurityContext sec, ...
– Gyro Gearless
Nov 23 '18 at 10:37
Just a guess - you might try to pass the request as context parameter to the method - someting like
@GET @Produces(MediaType.APPLICATION_JSON) @Path("search") public Something searchDbViews( @Context HttpServletRequest req, @Context SecurityContext sec, ...
– Gyro Gearless
Nov 23 '18 at 10:37
@GyroGearless .So how should i try to pass it instead of context ?
– Alex Lemesios
Nov 23 '18 at 10:53
@GyroGearless .So how should i try to pass it instead of context ?
– Alex Lemesios
Nov 23 '18 at 10:53
add a comment |
1 Answer
1
active
oldest
votes
It seems HttpServletRequest instance didn't get injected into request field ever.
Can you check injecting HttpServletRequest into resource method parameter list e.g. final @Context HttpServletRequest request.
not working . Give me a codesnip of your solution
– Alex Lemesios
Nov 23 '18 at 11:12
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53444932%2fjava-cant-use-httpservlet-s-methods-for-retrieving-data-for-a-request-when-u%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
It seems HttpServletRequest instance didn't get injected into request field ever.
Can you check injecting HttpServletRequest into resource method parameter list e.g. final @Context HttpServletRequest request.
not working . Give me a codesnip of your solution
– Alex Lemesios
Nov 23 '18 at 11:12
add a comment |
It seems HttpServletRequest instance didn't get injected into request field ever.
Can you check injecting HttpServletRequest into resource method parameter list e.g. final @Context HttpServletRequest request.
not working . Give me a codesnip of your solution
– Alex Lemesios
Nov 23 '18 at 11:12
add a comment |
It seems HttpServletRequest instance didn't get injected into request field ever.
Can you check injecting HttpServletRequest into resource method parameter list e.g. final @Context HttpServletRequest request.
It seems HttpServletRequest instance didn't get injected into request field ever.
Can you check injecting HttpServletRequest into resource method parameter list e.g. final @Context HttpServletRequest request.
answered Nov 23 '18 at 11:03
BhogeshBhogesh
112
112
not working . Give me a codesnip of your solution
– Alex Lemesios
Nov 23 '18 at 11:12
add a comment |
not working . Give me a codesnip of your solution
– Alex Lemesios
Nov 23 '18 at 11:12
not working . Give me a codesnip of your solution
– Alex Lemesios
Nov 23 '18 at 11:12
not working . Give me a codesnip of your solution
– Alex Lemesios
Nov 23 '18 at 11:12
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53444932%2fjava-cant-use-httpservlet-s-methods-for-retrieving-data-for-a-request-when-u%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
1
Just a guess - you might try to pass the request as context parameter to the method - someting like
@GET @Produces(MediaType.APPLICATION_JSON) @Path("search") public Something searchDbViews( @Context HttpServletRequest req, @Context SecurityContext sec, ...
– Gyro Gearless
Nov 23 '18 at 10:37
@GyroGearless .So how should i try to pass it instead of context ?
– Alex Lemesios
Nov 23 '18 at 10:53