ما هو ملف web.xml وما هي كل الأشياء التي يمكنني فعلها بها؟

StackOverflow https://stackoverflow.com/questions/2311065

  •  22-09-2019
  •  | 
  •  

سؤال

ال web.xml عناصر واصف نشر في Oracle's Beawblogic Server 8.1 ، تلخص وثائق كل عنصر في ملف web.xml. لكنني فضولي أيضًا بشأن النقاط أدناه:

  1. هل هناك أي معلمة تكوين يجب تجنبها مثل الطاعون؟
  2. أي معلمات تتعلق بالأداء أو استخدام الذاكرة؟
  3. المخاطر المتعلقة بالأمن بسبب سوء التكوين المشترك؟

ماذا يجب أن أعرف عن web.xml بصرف النظر عن أسماء العناصر واستخدامها؟

هل كانت مفيدة؟

المحلول

ما هو ملف web.xml وكل الأشياء التي يمكنني فعلها بها؟

ال /WEB-INF/web.xml الملف هو واصف نشر تطبيق الويب لتطبيقك. هذا الملف هو مستند XML يحدد كل شيء عن تطبيقك الذي يحتاج الخادم إلى معرفته (باستثناء مسار السياق ، الذي تم تعيينه بواسطة ناقل الطلب والمسؤول عند نشر التطبيق): Servlets ومكونات أخرى مثل المرشحات أو المستمعين ، ومعلمات التهيئة ، وقيود الأمان التي تديرها الحاويات ، والموارد ، والصفحات الترحيبية ، إلخ.

لاحظ أن المرجع الذي ذكرته قديمًا جدًا (Java EE 1.4) ، لقد كان هناك تغييرات قليلة في Java EE 5 وأكثر في Java EE 6 (الذي يجعل web.xml "اختياري" ويقدم شظايا الويب).

هل هناك أي معلمة تكوين يجب تجنبها مثل الطاعون؟

لا.

أي معلمات تتعلق بالأداء أو استخدام الذاكرة؟

لا ، لم يتم تكوين مثل هذه الأشياء على مستوى التطبيق ولكن على مستوى الحاوية.

المخاطر المتعلقة بالأمن بسبب سوء التكوين المشترك؟

حسنًا ، إذا كنت ترغب في استخدام قيود الأمان التي تديرها الحاويات والفشل في تكوينها بشكل صحيح ، فلن تكون الموارد محمية بشكل صحيح بشكل صحيح. بصرف النظر عن ذلك ، تأتي أكبر مخاطر الأمن من الكود الذي ستنشره IMO.

نصائح أخرى

ما كل ما يجب أن أعرفه عن web.xml بصرف النظر عن اسم العنصر واستخدامه؟

معلمة تكوين JSP الأكثر أهمية في كل العصور هي في web.xml. سيداتي وسادتي ، أعطيك ... مساحات تقليدية اختيار!

<jsp-config>
    <jsp-property-group>
        <url-pattern>*.jsp</url-pattern>
        <trim-directive-whitespaces>true</trim-directive-whitespaces>
    </jsp-property-group>
</jsp-config>

هذا يزيل جميع المئات أو الآلاف من الأسطر من المساحات البيضاء التي ستحصل عليها في HTML التي تم إنشاؤها إذا كنت تستخدم أي مكتبات العلامات (الحلقات قبيحة بشكل خاص ومهدر).

والآخر Big هي صفحة الويب الافتراضية (الصفحة التي يتم إرسالها تلقائيًا إليها عندما لا تدخل صفحة ويب في عنوان URL):

<welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
</welcome-file-list>    
  1. لا ، لا يوجد أي شيء يجب تجنبه
  2. المعلمات المتعلقة بالأداء ليست في web.xml هم في ملفات تكوين حاوية servlet (server.xml على تومكات)
  3. لا. لكن من الأفضل أن تقوم servlet الافتراضي (المعينة في web.xml في موقع مشترك في حاوية servlet)).

    قوائم صحيحة

أحاول معرفة كيف يعمل هذا أيضًا. قد يكون هذا الموقع مفيدًا لك. يحتوي على جميع العلامات المحتملة لـ Web.xml جنبا إلى جنب مع أمثلة وأوصاف لكل علامة.

http://wiki.metawerx.net/wiki/web.xml

في حالة استخدام الدعامات ، نقوم بتعطيل الوصول المباشر إلى ملفات JSP باستخدام هذه العلامة في web.xml

 <security-constraint>
<web-resource-collection>
  <web-resource-name>no_access</web-resource-name>
  <url-pattern>*.jsp</url-pattern>
</web-resource-collection>
<auth-constraint/>

ملف واصف النشر "web.xml": من خلال الاستخدام السليم لملف واصف النشر ، web.xml ، يمكنك التحكم في العديد من جوانب سلوك تطبيق الويب ، من servlets التحميل المسبق ، إلى تقييد الوصول إلى الموارد ، إلى مراجعة المدة في الجلسة.

web.xml : يستخدم للتحكم في العديد من جوانب تطبيق الويب. باستخدام web.xml ، يمكنك تعيين عناوين URL مخصصة لاستدعاء servlets ، وتحديد معلمات التهيئة للتطبيق بأكمله وكذلك للخدمات المحددة ، ومهلة جلسة التحكم ، ومرشحات الإعلان ، وإعلان أدوار الأمان ، وتقييد الوصول إلى موارد الويب بناءً على أدوار الأمان المعلنة ، وهلم جرا.

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0">
  <servlet>
    <servlet-name>mvc-dispatcher</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
  </servlet>
  <servlet>
    <description></description>
    <display-name>pdfServlet</display-name>
    <servlet-name>pdfServlet</servlet-name>
    <servlet-class>com.sapta.smartcam.servlet.pdfServlet</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>mvc-dispatcher</servlet-name>
    <url-pattern>/</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>pdfServlet</servlet-name>
    <url-pattern>/pdfServlet</url-pattern>
  </servlet-mapping>
  <context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>/WEB-INF/mvc-dispatcher-servlet.xml</param-value>
  </context-param>
  <listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  </listener>
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
</web-app>

http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd "الإصدار =" 3.0 ">

<servlet>
    <servlet-name>mvc-dispatcher</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
</servlet>

<servlet-mapping>
    <servlet-name>mvc-dispatcher</servlet-name>
    <url-pattern>/</url-pattern>
</servlet-mapping>

<context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>/WEB-INF/mvc-dispatcher-servlet.xml</param-value>
</context-param>

<listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>

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

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top