selvalives

Untitled

Oct 23rd, 2019
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.31 KB | None | 0 0
  1. package com.model;
  2.  
  3. public class Product {
  4. private String productCode;
  5. public String getProductName() {
  6. return productName;
  7. }
  8. public void setProductName(String productName) {
  9. this.productName = productName;
  10. }
  11. public String getProductCode() {
  12. return productCode;
  13. }
  14. public void setProductCode(String productCode) {
  15. this.productCode = productCode;
  16. }
  17. private String productName;
  18. }
  19.  
  20. package com.servlet;
  21.  
  22. import java.io.IOException;
  23. import java.util.HashMap;
  24. import java.util.List;
  25.  
  26. import javax.servlet.ServletException;
  27. import javax.servlet.annotation.WebServlet;
  28. import javax.servlet.http.HttpServlet;
  29. import javax.servlet.http.HttpServletRequest;
  30. import javax.servlet.http.HttpServletResponse;
  31.  
  32. import com.dao.ProductDao;
  33. import com.google.gson.Gson;
  34. import com.google.gson.GsonBuilder;
  35. import com.model.Product;
  36. import com.model.ProductLine;
  37.  
  38. @WebServlet("/ProductController")
  39. public class ProductController extends HttpServlet {
  40. private static final long serialVersionUID = 1L;
  41. private HashMap<String, Object> JSONROOT = new HashMap<String, Object>();
  42. ProductDao dao;
  43. public ProductController() {
  44. super();
  45. dao=new ProductDao();
  46. }
  47. protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
  48. response.getWriter().append("Served at: ").append(request.getContextPath());
  49. }
  50. protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
  51. String action = request.getParameter("action");
  52. Gson gson = new GsonBuilder().setPrettyPrinting().create();
  53. response.setContentType("application/json");
  54. if (action != null) {
  55. try {
  56. if (action.equals("getProductLines")) {
  57. List<ProductLine> productlines=dao.getProductLines();
  58. JSONROOT.put("Result", "OK");
  59. JSONROOT.put("Records", productlines);
  60. String jsonArray = gson.toJson(JSONROOT);
  61. response.getWriter().print(jsonArray);
  62. }
  63. else if (action.equals("getProducts")) {
  64. List<Product> products=dao.getProducts(request.getParameter("productLine"));
  65. JSONROOT.put("Result", "OK");
  66. JSONROOT.put("Records", products);
  67. String jsonArray = gson.toJson(JSONROOT);
  68. response.getWriter().print(jsonArray);
  69. }
  70. }
  71. catch (Exception ex) {
  72. JSONROOT.put("Result", "ERROR");
  73. JSONROOT.put("Message", ex.getMessage());
  74. String error = gson.toJson(JSONROOT);
  75. response.getWriter().print(error);
  76. }
  77. }
  78.  
  79. }
  80. }
  81.  
  82. public List<Product> getProducts(String productLine) {
  83. List<Product> products = new ArrayList<Product>();
  84. String query = "SELECT productCode,productName from products where productLine=?";
  85. try {
  86. pStmt = dbConnection.prepareStatement(query);
  87. pStmt.setString(1, productLine);
  88. ResultSet rs = pStmt.executeQuery();
  89. while (rs.next()) {
  90. Product p=new Product();
  91. p.setProductCode(rs.getString("productCode"));
  92. p.setProductName(rs.getString("productName"));
  93. products.add(p);
  94. }
  95. } catch (SQLException e) {
  96. System.err.println(e.getMessage());
  97. return null;
  98. }
  99. return products;
  100. }
  101.  
  102. <link href="//maxcdn.bootstrapcdn.com/bootstrap/4.1.1/css/bootstrap.min.css" rel="stylesheet" id="bootstrap-css">
  103. <script src="//maxcdn.bootstrapcdn.com/bootstrap/4.1.1/js/bootstrap.min.js"></script>
  104. <script src="//cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
  105. <!------ Include the above in your HEAD tag ---------->
  106.  
  107. <!doctype html>
  108. <html lang="en">
  109. <head>
  110. <!-- Required meta tags -->
  111. <meta charset="utf-8">
  112. <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
  113.  
  114. <!-- Fonts -->
  115. <link rel="dns-prefetch" href="https://fonts.gstatic.com">
  116. <link href="https://fonts.googleapis.com/css?family=Raleway:300,400,600" rel="stylesheet" type="text/css">
  117.  
  118.  
  119. <link rel="icon" href="Favicon.png">
  120.  
  121. <!-- Bootstrap CSS -->
  122. <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css">
  123. <link rel="stylesheet" type="text/css" href="mystyle.css">
  124. <title>Laravel</title>
  125. <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
  126. <script>
  127. $(document).ready(function() {
  128. $.ajax({
  129. url : "ProductController?action=getProductLines",
  130. type : "post",
  131. success : function(data) {
  132. //alert(data.Records);
  133. $.each(data.Records,function(idx,obj){
  134. $("#cmbProductLines").append(new Option(obj.productLine,obj.productLine));
  135. })
  136. },
  137. error : function(xhr, status, error) {
  138. alert(error)
  139. }
  140. });
  141. $("#cmbProductLines").change(function(){
  142. $("#cmbProducts option[value]").remove();
  143. var productLine=$("#cmbProductLines").val();
  144. $.ajax({
  145. url : "ProductController?action=getProducts&productLine="+productLine,
  146. type : "post",
  147. success : function(data) {
  148. //alert(data.Records);
  149. $.each(data.Records,function(idx,obj){
  150. $("#cmbProducts").append(new Option(obj.productName,obj.productCode));
  151. })
  152. },
  153. error : function(xhr, status, error) {
  154. alert(error)
  155. }
  156. });
  157. });
  158. });
  159. </script>
  160. </head>
  161. <body>
  162.  
  163. <nav class="navbar navbar-expand-lg navbar-light navbar-laravel">
  164. <div class="container">
  165. <a class="navbar-brand" href="#">Laravel</a>
  166. <button class="navbar-toggler" type="button" data-toggle="collapse"
  167. data-target="#navbarSupportedContent"
  168. aria-controls="navbarSupportedContent" aria-expanded="false"
  169. aria-label="Toggle navigation">
  170. <span class="navbar-toggler-icon"></span>
  171. </button>
  172. <div class="collapse navbar-collapse" id="navbarSupportedContent">
  173. <ul class="navbar-nav ml-auto">
  174. <li class="nav-item"><a class="nav-link" href="#">Login</a></li>
  175. <li class="nav-item"><a class="nav-link" href="#">Register</a>
  176. </li>
  177. </ul>
  178.  
  179. </div>
  180. </div>
  181. </nav>
  182. <main class="login-form">
  183. <div class="container">
  184. <div class="row justify-content-center">
  185. <div class="col-md-8">
  186. <div class="card1">
  187. <div class="card1-header">Register</div>
  188. <div class="card1-body">
  189. <select id="cmbProductLines"></select>
  190. <select id="cmbProducts"></select>
  191. </div>
  192. </div>
  193. </div>
  194. </div>
  195. </div>
  196. </main>
  197. </body>
  198. </html>
Add Comment
Please, Sign In to add comment