Servlets :: New Instance Of Java Model For Each New Request
Oct 1, 2014I want to create a new instance of a Java model class for each new request coming to a servlet.
How to do that without doing that in doGet() or doPost().
I want to create a new instance of a Java model class for each new request coming to a servlet.
How to do that without doing that in doGet() or doPost().
I want to create a new instance of a Java model class for each new request coming to a servlet.
How to do that without doing that in doGet() or doPost().
This is a design question is the same problem in any language.as you do to map the controller to the domain model?We have situations in general larger than ... consider the example objects .
situation.1 - We have a request that has all the parameters of the account ;{ " id" : " 1 " , "name " : "test " , "some " : " xxx " } ............. and other fields .
situation.2 - can request that has to have a certain account parameters , for example in the case of an update;{" id" , " 1" , "name " , " testUpdated "}
situation.3 - We have a request that has some parameters of the account , others have more like id as user together;{ " id" : " 1 " , "user " : " xxx " , "service " : " yyy " } in which case each piece of the request will turn an object .
Java Code:
public class Account {
private Long id;
private String name ;
private String some ;
} mh_sh_highlight_all('java');
I see a few options ;
1 - Can I get AccountForm in the controller and set the properties for the Account object and others in CONTROLLER ;
+ ok for situation.1 situations 2, and situation.3
+ Separates the requisition of the object domain
- Pollutes the controller with code conversion
- Controller is full of setters .. if a higher class as a large object as a request is very confusing .
Java Code:
controller ( AccountForm from ) {
Account account = new Account ( )
account.setNome form.getNome = ();
account.setSome form.getSome = ();
Other outher = new Other ( ) ;
other.setSome ( form.getSome ( ) ) ;
} mh_sh_highlight_all('java');
2 - Can I get AccountRequest in the controller and have a method in itself as AccountRequest.getAccount ( ) to return a mapped model , in this case the mapping is at own Request object .
+ Separates the requisition of the object domain
+ Encapsulates the conversion in a place with easy access .
+ Meets situation.1 situation.2 and situation3 ;
- Request object has two responsibilities represent the request and map to a valid model .
Java Code:
controller ( AccountForm accountRequest ) {
Account account = accountRequest.getAccount ( ) ;
Outher outher accountRequest.getOther = ( )
} mh_sh_highlight_all('java');
3 - Can I get the controller Direct Account which had been filled with nulls .
+ Eliminate object request
- Serves only situation.1 situation.2 .
Java Code:
controller (Account account ) {
account.someMethod ();
} mh_sh_highlight_all('java');
4 - Outsource this mapping request parameters to another object mapper for request ..
+ Isolates logic mapping
- Until complexity for simpler cases are used as standard for all such a find by id .
- One more class for each request ;
In the case of API gets worse response has two further classes. speaking in terms of request for response .... AccountRequest, AccountRequestMapper, Account, AccountResponseMapper, AccountResponse .....I'm doing more testing the Hybrid option 3 for simple cases (find ID or updates) .... with option 2 for example for more complex cases ..
I have the following questions:
1. Does a GET HTTP request contain a request body? If yes what is contained in it? Are the request headers also part of the request body?
2. Is it possible to send a byte array as part of the GET request in its body?
3. Is there a size limitation on the data that can be sent via a GET request?
I need to write server side program(Servlet) which must be access by several requests at same time.how to handle this using java? Do i need to use queue or multiple instance of same class. Any example server method which returns the results based on ID
public String getResut(int id){
1)get db connection
2)get the result from db
3) retun the result
}
here i have my bean class
package com.emp;
public class salarybean {
private String name;
private Double days;
private Double id;
public String getName() {
return name;
[code]...
now i want to retrieve all these values in another servlet where i want to do some calculation but not able to retrieve it is showing null and indicating for this value in my eclispe IDE " Iterator<salarybean> itr=list.iterator(); "
public class Time extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, java.io.IOException
[code]....
When we forward the request to a jsp , I noticed that the url bar address does not change .
I made a form form.html , and set action to a servlet then in servlet class I set an attribute and forward the request to jsp ,which prints the value of that attribute.But the url in address does not actually points to that jsp to which i forwarded the request.
I have to forward my request to another webApplication using post request parameters. In this case Webaplication-1 need send request using post request params to Webapplication-2 & once Webaaplication-2 receives request it has to process & display output.
For this have tried below 2 options which Servlet API provides.
1. RequestDispatcher : this will used to forward request to another resource within the application.
2. sendRedirect() : this method support doGet() of Servlet.
3. Using HttpClient, which is provided by Apache able to do but it will not displaying Output,It sending back response to Webapplication-1 .
Is there any option which will handover request from one webapplication to another webapplication.
We have a big application which is implemented in basic servlet. WE have Get and Post request in servlet. I want to provide them security if any malicious attack will happen on the form submit method. I want to make it secure. In detail, suppose if any user want to submit form/ any ajax request from my application and if he/she changes the method of submission from POST to GET then how I will recognize this?
I know that HTTPServletRequest object have GetMethod() but how I will detect that it is not changed by Tamper data/Fidler/Watir. One more way, I googled is by using GetQueryString() method but lot of the places I have query paramater in my POST request.
I have to send a request with post parameters from one web application to another web application,both are running different servers.
In my application i don't have any JSP,html only controller part which will handle request extract request parameters & based on request params i'll do a web service call.
My current requirement is based on request parameters i'll send request to another web application with received parameters.
I tried with sendRedirect() ,but it support only get() method.
how to proceed further.
I am building an application that has two types of users. While some of the fields (ie: username, email address, password) are the same for both user types, other fields are different for each user type.
Therefore, I would like to split up the process of registering (ie: writing the user info to database) into two parts:
1) registering the common fields among both user types (servlet 1)
2) registering the specific fields based on the user type that is registering (servlet 2a and servlet 2b).
Therefore, once servlet 1 is processed, I wish to forward the request to servlet 2a or 2b depending on what type of user is registering.
I wish to do this since I will have other parts of my application that will make use of servlets 2a and 2b as well. Is this possible to do (redirect request parameters from jsp to servlet and then to another servlet)?
After confirmation to the login details I added new cookie having logging information and then dispatched this request to controller servlet where this cookie is checked if it is present then user is forwarded to a particular page. Otherwise is redirected to the sign in page. Now the problem is when we add cookies then it is added into "response" object and when we get cookies we get them from "request" object. So for the first time redirection to controller servlet "response" object would not have this cookie as it is not available in "request" object. But will be available for later requests.
My question is what is the way to get this cookie in the first request. Or is there any way to send refresh like response to the browser so that this cookie is added??
i was i a program for Execute JSP Page.Inside Tomcat Conf Server File i add following path:
<Context path = "JSPTEST"
docBase="D:Tomcat 8.0webappsJSPTEST">
</Context>
</Host>
</Engine>
</Service>
</Server>
and this is my Jsp page program:
<html>
<head>
<title>Hello World Example in Jsp</title>
</head>
<body>
<h1>
[code]....
but same error is repeting:The request resourse is not available.
We are starting to deploy virtual desktops in our factory.I have a file upload form that works on conventional desktops but fails on the virtual machines. Notice the lifecycle parameter is not being passed to servlet on these virtual machines but does get passed when ran from standard desktop machine.
This is my form code
<form action="/QMSWebApp/AttachmentListController?lifecycle=attachafileuploadfile" enctype="multipart/form-data">
<div class="hide">
<input type="text" name="docindexno" size="20" value="${attachmentObj.fileindex1}">
<input type="text" name="doctype" size="20" value="${attachmentObj.filetype}">
<input type="text" id="fileuploadformsource" name="fileuploadformsource" size="20" value="${attachmentObj.fileUploadFormSource}">
</div>
<input type="file" id="fileName" name="fileName" size="40" onchange="testFileName()">
<input type="submit" value="Upload File">
</form>
<div id="uploadresult"></div>
this is the servlet error:
AttachmentListController: userName: STEVE DYKE File Attachment Source: SI
AttachmentListController: userName: STEVE DYKE e: java.lang.NullPointerException
AttachmentListController: Parameter List: doctype
AttachmentListController: Parameter List: docindexno
AttachmentListController: Parameter List: fileName
AttachmentListController: Parameter List: fileuploadformsource
AttachmentListController: Parameter Name: doctype
[code]....
I have used jsp's to passing request to the servlet or controllers. but we can also pass request from javascript using ajax and sending data using json.
what is the good approach and why? or does it depends on the situations? is yes, what kind of situations?
my Servlet as I would like my Servlet to run first and to create a session var then forward the value to the JSP (the GUI ) and have the JSP able to send a var back to the Servlet for reprocessing and update the session var to again be sent to the JSP and so on . - The Servlet contains logic to handle incorrect input types and directly out puts a HTML error page..
Below I will add the code I have so far and a link to the question in my Text Book.
My code:
JSP Page:
bank.JSP :
<%
//Starts outputting the HTML Form
%>
<html>
<head>
[Code].....
I would like getting a specific parameter name from the set of request parameters. In particular the name of the 4th parameter in the request parameter set.
View Replies View RelatedHow is this possible? Here is the servlet page.
/**
* Servlet implementation class InvoicingDeptServlet
*/
@WebServlet("/InvoicingDeptServlet")
public class InvoicingDeptServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
//Make arraylist global object
ArrayList<InvoiceData> invoiceList = new ArrayList<InvoiceData>();
[Code] ....
I developed some servlet to get unicode parameters via post request. It worked perfectly fine since I set the encoding as below:
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
HttpSession session = request.getSession(false);
response.setCharacterEncoding("UTF-8");
response.setContentType("text/html");
request.setCharacterEncoding("UTF-8");
String fileContent = request.getParameter("fileContent");
}
Now that I have set up my dev environment on a new machine with new eclipse, it does not work.
It displays Ï instead of π.
I've already tried adding URIEncoding="UTF-8" to server.xml which did not work since it only affect get not post. I figured out how to get the parameter with correct encoding on the new system:
String[] parameters = URLDecoder.decode(request.getQueryString(), "UTF-8").split("&");
But I cannot believe that this is the solution because then what's the point of having request.getParameter. I already know that:
String sss = new String(fileContent.getBytes(),"UTF-8");
would not work.
I have a code that writes the text file uploaded in a server but I want to write a text that I get it from jsp page by request, how can I write it?
FileInputStream fileToDownload ;
private static final int BYTES_DOWNLOAD = 1024;
protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws IOException{
response.setContentType("text/plain");
String name = request.getParameter("n");
response.setHeader("Content-Disposition",
[Code] ....
How the server know the device type from which request came from. I have requirement to implement the logic based on the type of the device. Eg: Mobile, TAB, PC or Laptop. Is there any existing API in Jquery to know the details about the client?
View Replies View RelatedI know when including remember me token in request header, it will contain expiry date. does this mean the token generated must be able to be reversed back to it's original string?
View Replies View RelatedIn one jsp page, I submit a form with a message body with following html code (which is store in "MsgBody" in my request)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
[code]....
But when I submit my form, I received in my servlet a parameter "MsgBody" without several tag like <html>/<body> ... do you know this behavior, by default tag are delete ?
public String execute(Map params, HttpServletRequest request, HttpServletResponse response) throws Exception {
String MsgBody = request.getParameter("MsgBody");.
I use Tomcat 7, maybe a tomcat behavior can influence for this tag loose in request param ?
I have a controller that on the basis of commands (formaction and subaction) dispatch requests to different jsp pages. But somehow when I am debugging my application, I can find duplicate request coming to the controller, so one jsp page does load twice. I am not sure from where the duplicate request is generating.
View Replies View RelatedAs web server has multiple threads to serve client requests in Thread Pool & to ensure Thread Safety we should not use any variables or Objects at Instance/Class level.But in case of Session Variable which one is the Best Practice as the Session object is used by all the requests to have the same Session ID.
My Code :
public class MyServlet extends HttpServlet {
private static Logger log = Logger.getLogger(ClientRegistrationServlet.class);
private HttpSession session; /* This is used at Instance Level*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
[code]....
I have a project which consists of the delivery of an sms containing the national identification number of a user upon request. This request will be in the form of an sms. Say for instance a client sends an sms to the mobile operator, my app would retrieve the national id and communicates it to the mobile operator which would send it the client.
I have downloaded and installed kannel as well the smsc simulator SMPPSim and also gone through some of the documentation. Now my problem is, how can i simulate the reception of an sms? Say for instance a client sends 'nidn 5', i want to be able to take 5 and process it in a servlet to retrieve the associated national identification number. How to achieve this.