-
HashMaps
beans
cast strings
parse ints
set object attributes
getters and setters
.equals(some string)
-
how to send form element data to a servlet
- ^form action = "LoginServlet" id="formId">
- Username
- ^input type="text" name="username" value ="admin">
- ^br>
- ^input type="submit" value="Submit">
- ^/form>
- ^form action = 'AddServlet'>
- ^label for='num1'>Number 1 </label>
- input id='num1' name='num1' value='12'/>
- ^input type='submit' value='add'/>
- ^/form>
-
The entry page of a website is "InitServlet" and the navigates to "/jsp/login.jsp".
What the important parts?
- @WebServlet(name = "InitServlet", urlPatterns = {"/InitServlet"})
- public class InitServlet extends HttpServlet {
- protected void processRequest(HttpServletRequest request, HttpServletResponse response)
- throws ServletException, IOException {
- response.setContentType("text/html;charset=UTF-8");
- //more code here
- request.getRequestDispatcher("/jsp/login.jsp").forward(request, response);
- }
- }
-
What are important imports for a servlet
- import javax.servlet.ServletException;
- import javax.servlet.annotation.WebServlet;
- import javax.servlet.http.HttpServlet;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
-
How do you capture the following?
^form action = "LoginServlet" id="formId">
Username
^input type="text" name="username" value ="admin">
^br>
^input type="submit" value="Submit">
^/form>
String username = (String) request.getParameter("username");
-
login.jsp uses UserClass and HashMap. What are important parts of the .jsp?
- ^%@page import="model.UserClass"%>
- ^%@page import="java.util.HashMap;"%>
- ^%@page contentType="text/html" pageEncoding="UTF-8"%>
-
How do you navigate from a servlet to "/jsp/loginFail.jsp"
request.getRequestDispatcher("/jsp/loginFail.jsp").forward(request, response);
-
important parts of AddServlet
- @WebServlet(name = "AddServlet", urlPatterns = {"/AddServlet"})
- public class AddServlet extends HttpServlet
- {
- protected void processRequest(HttpServletRequest request, HttpServletResponse response)
- throws ServletException, IOException
- {
- response.setContentType(
- "text/html;charset=UTF-8");
- //add code
- } //close servlet
- } //close class
-
How do you assign userObj to "sessionUserObj" to have session scope?
UserClass userObj = userDir.get(username);
request.getSession().setAttribute("sessionUserObj", userObj);
-
sessionUserObj has session scope and has a property called username. How is the username accessed in a jsp?
^p>Username: ${sessionUserObj.getUsername()}</p>
-
"user" has session scope. How to you delete it?
request.getSession().removeAttribute("user");
-
How is userObj accessed in another servlet?
UserClass userObj = userDir.get(username);
request.getSession().setAttribute("sessionUserObj", userObj);
UserClass sessionUserObj = (UserClass)request.getSession().getAttribute("sessionUserObj");
-
How do you assign userDirObj to "userDir" to have application scope?
HashMap<String, UserClass> userDirObj = new HashMap();
getServletContext().setAttribute("userDir", userDirObj );
-
How is userDir accessed in another servlet?
HashMap<String, UserClass> userDir = new HashMap();
getServletContext().setAttribute("userDir", userDir);
HashMap<String, UserClass> userDir = (HashMap<String, UserClass>) getServletContext().getAttribute("userDir");
-
number1 and number2 are elements of a form. Send the sum as a request attribute and product as a session attribute to results.jsp.
- int num1 = Integer.parseInt(request.getParameter("number1"));
- int num2 = Integer.parseInt(request.getParameter("number2"));
- Integer sum= num1 + num2;
- Integer product = num1 * num2;
- request.setAttribute("sum", sum);
- request.getSession().setAttribute("product", product);
- request.getRequestDispatcher("result.jsp").forward(request, response);
-
"result" is a request attribute and
"product" is a session attribute sent from a servlet.
How do you capture and display the values in a jsp?
- ^body>
- ^% Integer total = (Integer)request.getAttribute("result");
- out.println("^h1>Scriptlet Result = " + total.toString() + "^/h1>");
- %>
^h1>Request Attribute Result = ${result} ^/h1>
- ^h1>Session Attribute Result = ${product} ^/h1>
- ^/body>
-
How do you declare a hashmap of String and UserClass called userDir
HashMap<String, UserClass> userDir = new HashMap();
-
mike has the attributes "mike", "mike", "admin", "mike@comp31.com.
How do you add mikeObj to the hashmap shows?
HashMap<String, UserClass> userDir;
userDir.put("mike", new UserClass("mike", "mike", "admin", "mike@comp31.com"));
-
How do you set the object userDir to have application scope?
getServletContext().setAttribute("userDir", userDir);
-
login.jsp is in the jsp folder. How do you navigate to login.jsp from a servlet?
request.getRequestDispatcher("/jsp/login.jsp").forward(request, response);
-
What is a JavaBean?
- is a specially constructed Java class coded according to the JavaBeans API specifications
- distinguish a JavaBean from other Java classes −
- It provides a default, no-argument constructor.
- It should be serializable and that which can implement the Serializable interface.
-
set a request bean of class DemoBean in a servlet
- DemoBean bean = new DemoBean();
- bean.setMsg("This is a Request Bean");
- request.setAttribute("bean1", bean);
-
set a session bean of class DemoBean in a servlet
- DemoBean sessionBean = new DemoBean();
- sessionBean.setMsg("This is a Session bean");
- request.getSession().setAttribute("bean2", sessionBean);
-
set an application bean of class DemoBean in a servlet
- DemoBean appBean = new DemoBean();
- appBean.setMsg("This is an App bean");
- getServletContext().setAttribute("bean3", appBean);
-
set a bean with page scope in jsp
- ^jsp:useBean id="pagebean" scope="page" class="model.DemoBean">
- ^jsp:setProperty name="pagebean" property="msg" value="Message from page Bean"/>
- ^/jsp:useBean>
-
set a bean with application scope in a jsp
- ^jsp:useBean id="appbean" scope="application" class="model.DemoBeam">
- ^jsp:setProperty name="appbean" property="msg" value="Message from app Bean"/>
- ^/jsp:useBean?
-
What is this?
^%
pageContext.setAttribute("PageName", "JavaBeans and Scope");
%>
^h2>${PageName}</h2>
-
how can a page take user input?
- pass parameters via the url
- at end of url add ?parameterName=something
- (no quotes needed)
- or
- user input through textboxes
-
How does a servlet handle a parameter?
- use HttpServletRequest object(request)
- String var = request.getParameter("parameterName");
-
how to add beans
- package model;
- import java.io.Serializable;
- public class DemoBean extends Parent implements Serializable{
- private String msg;
- public DemoBean() {
- msg = "Hi";
- }
- public String getMsg() {
- return msg;
- }
- public void setMsg(String msg) {
- this.msg = msg;
- }
- @Override
- public String toString() {
- return "DemoBean: " + "msg=" + msg;
- }
- }
-
How do you add demoBean of type DemoBeam to an array list called beans?
- ArrayList<DemoBean> beans = new ArrayList<>();
- DemoBean demoBean = new DemoBean();
- demoBean.setMsg("This is the first item");
- beans.add(demoBean);
|
|