JavaRush /جاوا بلاگ /Random-SD /توهان جي پهرين ايپليڪيشن جاوا servlets استعمال ڪندي

توهان جي پهرين ايپليڪيشن جاوا servlets استعمال ڪندي

گروپ ۾ شايع ٿيل
هيلو سڀ! هن آرٽيڪل ۾، توهان servlets جي بنيادي ويب ڊولپمينٽ تصور کان واقف ٿي ويندا ۽ انهن کي استعمال ڪندي هڪ سادي ايپليڪيشن لکڻ جي قابل ٿي ويندا. توهان جي پهرين ايپليڪيشن جاوا servlets استعمال ڪندي - 1غير ضروري قدمن کان بچڻ لاءِ، اسان شروع کان شروع نه ڪنداسين، ۽ اسان جي ايپليڪيشن تي ڪم جاري رکنداسين منهنجي پوئين مضمون مان Hibernate بابت . بهرحال، جيئن ته اسان صرف servlets سان شروع ڪري رهيا آهيون، مون ايپليڪيشن مان آٽو ڪلاس سان لاڳاپيل هر شيء کي هٽايو ۽ صرف صارف طبقي ۽ ان جي عملن کي ڇڏي ڏنو. منصوبي جي جوڙجڪ هن طرح نظر ايندي: توهان جي پهرين ايپليڪيشن Java servlets استعمال ڪندي - 2پوء، servlets! Wikipedia چوي ٿو: "A servlet هڪ جاوا انٽرفيس آهي جنهن تي عمل ڪرڻ سرور جي ڪارڪردگيءَ کي وڌائي ٿو. هڪ servlet ڪلائنٽ سان رابطو ڪري ٿو درخواست-جواب جي اصول ذريعي." ۽ حقيقت ۾ اهو آهي. هتي اسان پهريون ڀيرو "ڪلائنٽ-سرور ايپليڪيشن آرڪيٽيڪچر" جي تصور کي منهن ڏيون ٿا. ان جو جوهر بلڪل سادو آهي ۽ هڪ تصوير ۾ بيٺو آهي ( هتان کان ورتو ويو ).
توھان جي پھرين ائپليڪيشن جاوا سروليٽ استعمال ڪندي - 3
ڪلائنٽ هڪ HTTP درخواست موڪلڻ سان سرور سان رابطو ڪري ٿو. سرور ضروري ڊيٽا ٺاهي ٿو (مثال طور، ڊيٽابيس مان وصول ڪري ٿو) ۽ ان کي ڪلائنٽ ڏانهن موٽائي ٿو. سادي مثال: هڪ خاص سماجي نيٽ ورڪ تي توهان "دوست" بٽڻ تي ڪلڪ ڪريو ۽ اهڙيء طرح سرور ڏانهن هڪ درخواست موڪليو. سرور ڊيٽابيس ۾ توهان جي دوستن جي لسٽ چيڪ ڪري ٿو ۽ ان کي توهان ڏانهن واپس ڪري ٿو (ڪلائنٽ). HTTP درخواستن جي فهرست ڪافي وڏي آھي، پر جيڪڏھن توھان انھن کي ڪڏھن به نه ڏٺو آھي، ته پوءِ بھتر سمجھڻ لاءِ اھو بھتر آھي ته انھن بابت پڙھو، مثال طور، ھتي . اسان جو ڪم آھي: ھڪ CRUD ايپليڪيشن ٺاھيو servlets استعمال ڪندي. ايپليڪيشن کي ڊيٽابيس مان صارفين کي ٺاهڻ، تبديل ڪرڻ، ۽ حذف ڪرڻ جي قابل هجڻ گهرجي سرورٽ استعمال ڪندي جيڪو HTTP درخواستن تي عمل ڪري ٿو. Hibernate بابت آرٽيڪل مان اسان جي درخواست اڳ ۾ ئي ڄاڻ هئي ته اهو ڪيئن ڪجي، پر اهو سڌو سنئون جاوا ڪوڊ مان ڪنٽرول ڪيو ويو، وڌيڪ واضح طور تي، مکيه () طريقي کان. هتي درخواستون کلائنٽ طرفان موڪليا ويندا، يعني توهان :) پهرين شيء جيڪا اسان کي ڪرڻ جي ضرورت آهي اسان جي pom.xml فائل ۾ نئين انحصار شامل ڪريو.
<xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.itis4</groupId>
    <artifactId>UsersDaoProject</artifactId>
    <version>1.0-SNAPSHOT</version>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-war-plugin</artifactId>
                <version>2.6</version>
            </plugin>
        </plugins>
    </build>

    <dependencies>
        <!-- PostgreSQL  -->
        <dependency>
            <groupId>org.postgresql</groupId>
            <artifactId>postgresql</artifactId>
            <version>9.4.1212.jre7</version>
        </dependency>

        <!-- Hibernate 5.2.6 Final -->
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-core</artifactId>
            <version>5.2.6.Final</version>
        </dependency>

        <dependency>
            <groupId>jstl</groupId>
            <artifactId>jstl</artifactId>
            <version>1.2</version>
        </dependency>
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <version>3.1.0</version>
        </dependency>

        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <version>4.3.4.RELEASE</version>
        </dependency>

    </dependencies>

</project>
اسان شامل ڪيو آهي 3 انحصار:
  1. javax.servlet-api لائبريري پاڻ؛
  2. JSTL ٽيگ لائبريري. اهو ڪلائنٽ سائڊ ٺاهڻ جي ضرورت پوندي، يعني JSP صفحا؛
  3. بهار-WebMVC. اسان کي هڪ بهار ڪلاس جي ضرورت پوندي، جنهن بابت اسين ٿوري دير بعد ڳالهائينداسين.
servlets جو آپريشن servlet ڪنٽينر جي ذريعي منظم ڪيو ويندو آهي. اسان جي صورت ۾ اسان استعمال ڪنداسين Apache Tomcat. تمام گهڻو مشهور شيء، ۽ توهان شايد اڳ ۾ ئي ان جي باري ۾ ٻڌو آهي :) هڪ servlet جي زندگي چڪر هيٺين مرحلن تي مشتمل آهي:
  1. جيڪڏهن ڪنٽينر ۾ ڪو به سروليٽ نه آهي.
    • سروليٽ ڪلاس ڪنٽينر ذريعي لوڊ ڪيو ويندو آهي.
    • ڪنٽينر servlet ڪلاس جو هڪ مثال ٺاهي ٿو.
    • ڪنٽينر سڏي ٿو init() طريقو. اهو طريقو servlet کي شروع ڪري ٿو ۽ پهريون ڀيرو سڏيو ويندو آهي ان کان اڳ جو servlet خدمت جي درخواست ڪري سگهي ٿو. init() طريقو صرف هڪ ڀيرو سڏيو ويندو آهي ان جي پوري حياتي دوران.
  2. ڪلائنٽ جي درخواست جي خدمت ڪندي. هر درخواست تي عمل ڪيو ويندو آهي پنهنجي الڳ سلسلي ۾. ڪنٽينر سڏي ٿو service() طريقو هر درخواست لاءِ. اهو طريقو ايندڙ درخواست جي قسم کي طئي ڪري ٿو ۽ ان کي تقسيم ڪري ٿو ان طريقي سان لاڳاپيل طريقي سان درخواست جي پروسيسنگ لاءِ. servlet ڊولپر کي لازمي طور تي انهن طريقن تي عمل درآمد ڪرڻ گهرجي. جيڪڏهن هڪ درخواست ملي ٿي جنهن لاءِ هڪ طريقو لاڳو نه ڪيو ويو آهي، والدين طبقي جو طريقو سڏيو ويندو آهي ۽ عام طور تي ختم ٿي ويندو آهي غلطي سان درخواست ڪندڙ ڏانهن موٽڻ سان.
  3. صورت ۾ ڪنٽينر کي هڪ سرورٽ کي ختم ڪرڻ جي ضرورت آهي، ان کي سڏي ٿو تباهي () طريقو، جيڪو خدمت مان سرورٽ کي هٽائي ٿو. init() طريقي وانگر، هي طريقو پڻ سڏيو ويندو آهي هڪ ڀيرو سڄي servlet چڪر دوران.
اسان جي servlet بلڪل سادي نظر ايندي:
package servlets;

import models.User;
import services.UserService;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.List;

public class UserSimpleServlet extends HttpServlet {

    private UserService service = new UserService();

    public void init(ServletConfig servletConfig) {
        try {
            super.init(servletConfig);
        } catch (ServletException e) {
            e.printStackTrace();
        }
    }

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

        List<User> users = service.findAllUsers();
        req.setAttribute("users", users);
        RequestDispatcher dispatcher = req.getRequestDispatcher("/showUsers.jsp");
        dispatcher.forward(req, resp);

    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp)
            throws ServletException, IOException {

        String name = req.getParameter("name");
        int age = Integer.parseInt(req.getParameter("age"));
        User user = new User(name, age);
        service.saveUser(user);
        resp.sendRedirect("/users");

    }

    @Override
    protected void  doPut(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        int id = Integer.parseInt(req.getParameter("id"));
        User user = service.findUser(id);
        user.setName(req.getParameter("name"));
        user.setAge(Integer.parseInt(req.getParameter("age")));
        service.updateUser(user);
        resp.sendRedirect("/users");
    }

    @Override
    protected void doDelete(HttpServletRequest req, HttpServletResponse resp) throws IOException {
        int id = Integer.parseInt(req.getParameter("id"));
        service.deleteUser(service.findUser(id));
        resp.sendRedirect("/users");
    }
}
جئين توهان ڏسي سگهو ٿا، ان ۾ شامل آهي init() طريقو، جيڪو مٿي بيان ڪيو ويو آهي، ۽ 4 طريقن کي لاڳو ڪري ٿو جيڪي چار HTTP درخواستن سان ٺهڪندڙ آهن - doGet()، doPost()، doPut() ۽ doDelete(). انهن مان هر هڪ اسان کي اجازت ڏيندو، ترتيب سان، صارفين کي وصول ڪرڻ، ٺاهڻ، ايڊٽ ڪرڻ ۽ حذف ڪرڻ. طريقا javax.servlet.http.HttpServletRequest ۽ javax.servlet.http.HttpServletResponse طبقن جي ان پٽ شين جي طور تي وٺن ٿا - اهو آهي، سرور ڏانهن موڪليل درخواست ۽ جواب جيڪو ڪلائنٽ وصول ڪري ٿو. طريقن جي اندر، UserService ڪلاس جا ضروري طريقا جاري ڪيا ويا آھن، ھڪڙو جواب ڪلائنٽ لاءِ ٺاھيو ويندو آھي، ۽ پوءِ /users ايڊريس ڏانھن ھليو ويندو آھي. مثال طور، doGet() طريقي ۾ اسان سڀني صارفين جي فهرست حاصل ڪندا آهيون. اڳيون، اسان RequestDispatcher ڪلاس جو ھڪڙو اعتراض ٺاھيو آھي، جيڪو اسان کي Http درخواست ۾ شيون شامل ڪرڻ جي اجازت ڏئي ٿو، ۽ ان سان گڏ ان کي ھڪڙي خاص وسيلن ڏانھن (مثال طور، ھڪڙو کلائنٽ JSP صفحو). doPut() طريقي ۾ (يوزر ڊيٽا کي اپڊيٽ ڪرڻ)، اسان HTTP جي درخواست تي عمل ڪريون ٿا، ان مان id، نالو ۽ عمر جا پيرا ميٽر ڪڍون ٿا، مخصوص id سان استعمال ڪندڙ کي ڳولھيو، ان کي نالو ۽ عمر تفويض ڪريون ٿا جيڪو ان سان گڏ آيو آھي. درخواست ڪريو، ۽ صفحي / صارفين ڏانھن واپس وڃو. بهرحال، انهن سڀني طريقن کي صحيح ڪم ڪرڻ لاء، اسان کي servlet ترتيب ڏيڻ جي ضرورت آهي. ان لاءِ اسان WEB-INF فولڊر ۾ web.xml فائل استعمال ڪريون ٿا.
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.1"
         xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd">

    <welcome-file-list>
        <welcome-file>index.jsp</welcome-file>
    </welcome-file-list>

    <servlet>
        <servlet-name>UserSimpleServlet</servlet-name>
        <servlet-class>servlets.UserSimpleServlet</servlet-class>
    </servlet>

    <servlet-mapping>
        <servlet-name>UserSimpleServlet</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>

    <filter>
        <filter-name>hiddenHttpMethodFilter</filter-name>
        <filter-class>org.springframework.web.filter.HiddenHttpMethodFilter</filter-class>
    </filter>

    <filter-mapping>
        <filter-name>hiddenHttpMethodFilter</filter-name>
        <servlet-name>UserSimpleServlet</servlet-name>
    </filter-mapping>

</web-app>
هن فائل ۾ سڀئي ٽيگ، اصول ۾، وجداني آهن، پر اچو ته انهن کي ترتيب سان ڏسو. <welcome-file-list> - شروعاتي JSP صفحو بيان ڪيو ويو آهي، جيڪو پهريون ڀيرو کوليو ويندو جڏهن ايپليڪيشن شروع ٿيندي. اسان جي حالت ۾، هي آهي index.jsp صفحو. <servlet> - رجسٽر ڪرڻ اسان جي UserSimpleServlet ڪلاس کي servlet طور. <servlet-mapping> هڪ تمام اهم ٽيگ آهي. اهو بيان ڪري ٿو URLs جيڪي پروسيس ڪيا ويندا servlet. اسان جي حالت ۾، اهي سڀئي URLs آهن، تنهنڪري اسان صرف "/" کي اشارو ڪندا آهيون. پر، مثال طور، جيڪڏهن اسان وٽ استعمال ڪندڙن ۽ انهن جي مشينن سان هڪ ايپليڪيشن هجي، ته پوءِ اسان هڪ ٻيو سروليٽ ٺاهي سگهون ٿا - SimpleAutoServlet. پوءِ يوزر سرورٽ لاءِ ميپنگ ٿيندي ”/ استعمال ڪندڙ“ (يعني درخواستون پروسيسنگ استعمال ڪندڙن سان لاڳاپيل)، ۽ آٽو سروليٽ لاءِ اهو هوندو ”/آٽوز“. ۽ آخرڪار، <فلٽر>. اهو org.springframework.web.filter.HiddenHttpMethodFilter طبقي جي اندروني طور تي هڪ اعتراض بيان ڪري ٿو. مضمون بهار جي باري ۾ نه آهي، تنهنڪري مان ان بابت تفصيل سان نه ڳالهائيندس. مون کي صرف اهو چوڻ ڏيو ته اهو صرف هڪ اضافي خاصيت جي طور تي اسان جي ايپليڪيشن سان ڳنڍيل آهي. نقطو اهو آهي ته اسان استعمال ڪنداسين JSP صفحا ڪلائنٽ سائڊ ٺاهڻ لاءِ. اسان جي ڊيٽا صفحي تي ڏيکاري ويندي ٽيبل جي طور تي صارفين جي فهرست سان. JSP صفحن جي اندر، HTML <form/> ٽيگ استعمال ڪيا ويندا. ۽ صرف HTTP GET ۽ POST درخواستون استعمال ڪري سگھجن ٿيون ڊيٽا موڪلڻ لاءِ <form/>. اهو آهي، سڀني ٽنهي عملن لاءِ - تازه ڪاري ڪرڻ، حذف ڪرڻ ۽ صارف ٺاهڻ - اسان کي صرف پوسٽ درخواستون استعمال ڪرڻ گهرجن. استعمال ڪندي PUT ۽ DELETE درخواستون اسان وٽ موجود نه هونديون. ۽، اصول ۾، اهو بلڪل عام آهي ۽ لاڳو ڪرڻ آسان آهي، پر HiddenHttpMethodFilter ڪلاس اسان کي انهن کي استعمال ڪرڻ جي اجازت ڏئي ٿو. هي ايپليڪيشن ۾ عملن جي وچ ۾ فرق پڙهندڙن کي وڌيڪ واضح ڪندو. آخرڪار، اچو ته ڪلائنٽ جي پاسي ڏانهن وڃو. اهو پنج JSP صفحن جي نمائندگي ڪري ٿو. index.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Здравствуйте!</title>
</head>
<body>
Если вы хотите начать работу с базой данных пользователей - <br>
нажмите кнопку ниже:

<form action = "users" method="get">
    <input type="submit" value="Начать работу с базой данных">
</form>
</body>
</html>
addUser.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Добавить нового пользователя</title>
</head>
<body>
<form action = "/users" method="post">
    <input required type="text" name="name" placeholder="Name">
    <input required type="text" name="age" placeholder="Возраст">
    <input type="submit" value="Сохранить">
</form>
</body>
</html>
deleteUser.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Удалить пользователя</title>
</head>
<body>

Вы действительно хотите удалить пользователя ${param.id}?

&lform action="/users/${param.id}" method="post">
    <input type="hidden" name="id" value="${param.id}">
    <input type="hidden" name="_method" value="delete">
    <input type="submit" value="Удалить">
</form>

</body>
</html>
showUsers.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<head>
    <title>Список пользователей</title>
</head>
<body>
<table border="2">
    <tr>
        <td>ID</td>
        <td>Name</td>
        <td>Возраст</td>
        <td>Действия</td>
    </tr>
    <c:forEach items="${users}" var = "user">
        <tr>
            <td>${user.getId()}</td>
            <td>${user.getName()}</td>
            <td>${user.getAge()}</td>
            <td>
                <form action = "updateUser.jsp" method="post">
                    <input type="hidden" name="id" value="${user.getId()}">
                    <input type="hidden" name="name" value="${user.getName()}">
                    <input type="hidden" name="age" value="${user.getAge()}">
                    <input type="submit" value="Изменить" style="float:left">
                </form>
                <form action="deleteUser.jsp" method="post">
                    <input type="hidden" name="id" value="${user.getId()}">
                    <input type="submit" value="Удалить" style="float:left">
                </form></td>
        </tr>
    </c:forEach>
</table>

<form action = "addUser.jsp">
    <input type="submit" value="Добавить нового пользователя">
</form>
</body>
</html>
updateUser.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Изменить данные пользователя</title>
</head>
<body>

Редактировать пользователя

<form action="/users/${param.id}" method="post">
    <input type="hidden" name = "id" value="${param.id}">
    <input type="text" name="name" value="${param.name}" placeholder=${param.name}>
    <input type="text" name="age" value="${param.age}" placeholder=${param.age}>
    <input type="hidden" name="_method" value="put">
    <input type="submit" value="Обновить">
</form>

</body>
</html>
هڪ JSP صفحو (جاوا سرور صفحو) متن جي ٻن قسمن تي مشتمل آهي: جامد ماخذ ڊيٽا، جيڪو متن جي شڪلن مان هڪ ٿي سگهي ٿو (HTML، SVG، WML، يا XML)، ۽ JSP عناصر، جيڪو متحرڪ مواد ٺاهي ٿو. سمجھڻ لاءِ JSP ڇا آھي، مان پاڻ کي اجازت ڏيندس ته ھڪ ليکڪ جي تمام سٺي مضمون جو ھڪڙو ٽڪرو ڪاپي ۽ پيسٽ ڪريان ( ھتان ). "لازمي طور تي، JSP هڪ سرورٽ ۾ تبديل ڪيو ويو آهي جڏهن اهو پهريون ڀيرو پهچندو آهي ۽ هڪ servlet طور ڪم ڪري ٿو. اهو سمجهڻ تمام ضروري آهي. JSP هڪ HTML صفحي وانگر هڪ صفحو ناهي - اهو هڪ نوان پروگرامر لاء واضح طور تي سمجهڻ ضروري آهي ته هي هڪ ٻيو سروليٽ آهي - توهان کي صرف ان جي پيداوار کي پروگرام ڪرڻ جي ضرورت ناهي. اهو توهان آساني سان ٺاهي سگهو ٿا. ۽ صحيح هنڌن تي ڊيٽا کي متبادل بڻايو. پر جيئن ته JSP صفحو گهٽ ۾ گهٽ ڪنهن به طرح HTML سان مشابهت رکي ٿو، اهو واضح طور تي ڊزائنر لاء آسان ٿيندو. ۽ مان هڪ ڀيرو ٻيهر شروع ڪندڙن کي سختيءَ سان ٻڌايان ٿو - JSP هڪ SERVLET آهي . اهو سرور تي موجود سموري ڊيٽا سان تيار ڪيو ويندو آهي. اهو اهو آهي جتي سمورو ڊيٽا داخل ڪيو ويندو آهي. ۽ صارف کي برائوزر ۾ هڪ تيار ڪيل HTML صفحو ملي ٿو، جيڪو نه آهي. JAVA جون نشانيون آهن." توهان پنهنجي لاءِ ڏسي سگهو ٿا ته JSP صفحو واقعي هڪ سروليٽ آهي، ڇاڪاڻ ته هر صفحي ۾ هڪ طريقو آهي جنهن کي عمل ڪرڻ جي ضرورت آهي. مثال طور، شروعاتي صفحو index.jsp ٻڌائي ٿو ته جڏهن توهان "ڊٽابيس سان ڪم ڪرڻ شروع ڪريو" بٽڻ تي ڪلڪ ڪندا، طريقو = "حاصل" ڪيو ويندو. addUser.jsp صفحي تي، جيڪو نئون يوزر ٺاهڻ جو ذميوار آهي، جڏهن توهان محفوظ بٽڻ تي ڪلڪ ڪندا، طريقو = "پوسٽ" تي عمل ڪيو ويندو. باقي JSP عام جامد HTML مارڪ اپ تي مشتمل آهي، تنهنڪري اسان انهن تي تفصيل سان نه رهنداسين - هي هڪ الڳ مضمون جو موضوع آهي، جن مان انٽرنيٽ تي ڪيترائي آهن. تنهن ڪري، اسان اسان جي ايپليڪيشن ٺاهي آهي، باقي رهي ٿو ان کي عمل ۾ جانچڻ لاء! هن کي ڪرڻ لاء، اسان کي مٿي ذڪر ڪيل Apache Tomcat servlet ڪنٽينر جي ضرورت پوندي. توهان بلي کي سرڪاري ويب سائيٽ تان ڊائون لوڊ ڪري سگهو ٿا (مان ورجن 8 استعمال ڪريو). اڳيون، اسان کي IDEA ۾ هڪ ترتيب ٺاهڻ جي ضرورت آهي Tomcat ذريعي اسان جي ايپليڪيشن کي هلائڻ لاء. هن کي ڪرڻ لاءِ، کوليو "ڪانفيگريشنز ۾ تبديلي آڻيو" ٽئب، توھان جي پھرين ائپليڪيشن جاوا سروليٽ استعمال ڪندي - 4نئين ٺاھ جوڙ ٺاھيو توھان جي پھرين ايپليڪيشن استعمال ڪندي Java Servlets - 5۽ چونڊيو Tomcat Server Local. ايپليڪيشن سرور ٽئب ۾، فولڊر ڏانھن رستو بيان ڪريو جتي ٽامڪٽ واقع آھي. توھان جي پھرين ائپليڪيشن جاوا سروليٽس استعمال ڪندي - 6اڳيون، ڏانھن وڃو ڊيپلائيمينٽ ٽيب. Ваше первое приложение с использованием Java-сервлетов - 7هتي اسان مقامي سرور تي اسان جي ايپليڪيشن جي ترتيب کي ترتيب ڏيو ٿا. "+" تي ڪلڪ ڪريو، "آرٽيفڪٽ" چونڊيو -> توھان جي پروجيڪٽ جو نالو: جنگ (اسين ايپليڪيشن کي جنگ جي فائل ۾ گڏ ڪنداسين). Ваше первое приложение с использованием Java-сервлетов - 8اهو بنيادي طور تي آهي! "سرور" صفحي تي توھان ڏسي سگھو ٿا ته ساڳي ايپليڪيشن "http://localhost:8080/" تي هلندي. هن ترتيب کي محفوظ ڪريو ۽ ان کي ڪجهه نالو ڏيو (منهنجو ترتيب جو نالو آهي "ٽامي"). اڳيون، IDEA ۾ Maven ٽيب تي (ساڄي پاسي) اسان جنگ جي پلگ ان کي استعمال ڪنداسين اسان جي منصوبي کي جنگ جي فائل ۾ تعمير ڪرڻ لاء (پلگ ان -> جنگ -> جنگ: جنگ). Ваше первое приложение с использованием Java-сервлетов - 9Ваше первое приложение с использованием Java-сервлетов - 10ڪاميابي! شروعاتي صفحو شروع ڪيو ويو آهي. ھاڻي ڪلڪ ڪريو "ڊٽابيس سان ڪم ڪرڻ شروع ڪريو" بٽڻ تي. اسان جو JSP صفحو index.jsp هڪ GET درخواست ٺاهيندو جيڪا سرور طرفان پروسيس ڪئي ويندي. سرور هڪ جواب پيدا ڪندو ۽ ان کي اسان کي سڀني موجوده استعمال ڪندڙن جي فهرست جي صورت ۾ واپس ڪندو (جيڪڏهن، يقينا، اهي ڊيٽابيس ۾ آهن). ۽ هتي اهي آهن! Ваше первое приложение с использованием Java-сервлетов - 12اچو ته استعمال ڪندڙن مان ھڪڙي کي ختم ڪرڻ جي ڪوشش ڪريو: Ваше первое приложение с использованием Java-сервлетов - 13اھو پڻ ڪم ڪري ٿو! تنهن ڪري اسان اسان جي پهرين درخواست servlets استعمال ڪندي لکيو. جئين توهان ڏسي سگهو ٿا، هر شيء ايترو ڏکيو نه آهي :) گهر جي ڪم جي طور تي، توهان ڪري سگهو ٿا، مثال طور، ڪارن سان ڪم ڪرڻ جي ڪارڪردگي کي واپس ڪري سگهو ٿا پوئين آرٽيڪل کان ايپليڪيشن ڏانهن. اهي. ڪارن لاءِ هڪ الڳ servlet ۽ jsp صفحا ٺاهيو ۽ اسان جي ايپليڪيشن کي سيکاريو ته صارف جي ڪارن جي فهرست ڏيکاري، ان ۾ نيون ڪارون شامل ڪريو، گڏوگڏ انهن کي ايڊٽ ڪرڻ ۽ حذف ڪرڻ. PS Servlets ۽ JSP ڪافي قديم ٽيڪنالاجيون آهن، ۽ انٽرنيٽ تي توهان اڪثر تبصرا ڳولي سگهو ٿا روح ۾ "ڪنهن کي هن فضول جي ضرورت آهي؟" جواب بلڪل سادو آهي - اهو بنيادي طور تي انهن جي ضرورت آهي جيڪي حقيقي منصوبن تي ڪم ڪندا، جنهن ۾ اهو ممڪن آهي ته انهن کي استعمال ڪندي لکندڙ تمام گهڻو ڪوڊ هوندو. ۽ ”پراڻي شين“ کي نئين شيءِ ۾ ڏسڻ، ان کي سمجهڻ کان سواءِ ته اهو ڪيئن ڪم ڪري ٿو، اڃا به خوشي جي ڳالهه آهي :) JSP ۽ servlets جي موضوع جي وڌيڪ تفصيلي مطالعي لاءِ، توهان ڪتاب استعمال ڪري سگهو ٿا ” هيڊ فرسٽ سروليٽس ۽ جي ايس پي“ (۾ صرف انگريزي). اهو انهن ئي ليکڪن طرفان لکيو ويو آهي جيئن مشهور سپر ڪتاب ”هيڊ فرسٽ جاوا“، جيڪو ڪيترن ئي لاءِ معيار جي ضمانت ٿي سگهي ٿو :) مون کي اميد آهي ته هي مضمون پڙهندڙن لاءِ ڪارآمد هوندو! جيڪڏھن توھان چاھيو ٿا نوان مضمون ڏسڻ، ليکڪ کي "پسند" ڪندي مقابلي ۾ مدد ڪرڻ نه وساريو. يا اڃا بهتر - "مون کي اهو تمام گهڻو پسند آهي" :) توهان جي توجه جي مهرباني، ۽ توهان جي پڙهائي ۾ سٺي قسمت!
تبصرا
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION