Што лепш у прадукцыйнасці паміж метадам дэкларуюць у JSP або метад дэкларуе ў Java файл

Я нейкае пытанне аб JSP,

Я некаторы метад скажу назву метады getStaffDetail і былі напісана ў staffDetail.jsp файл ніжэй кода ў staffDetail.jsp

<%!
    public StaffDetails getStaffDetail(int staffId) throws SQLException{
        //Request to db
        //process the result set
        //return StaffDetail
    }
%>

і гэты метад быў выкарыстоўваць у personPage.jsp файл, выклікаўшы яго з дапамогай дырэктывы ўключэння

personPage.jsp

<%@ include file = "/path/staffDetail.jsp">

<%
    StaffDetails sd = getStaffDetail(1234);
    String stafName = sd.getStfName();
    String stfAddress = sd.getStfAddress();
    //and the rest...
%>

Ці я павінен напісаць гэты код у Java класе, напрыклад StaffDetail.class

package packageName

import DBAccess;

public class StaffDetail{   

    //Request to db
    //process the result set
    //Setter n getter in this class 
}

І ў personPage.jsp

<@ page import = "package.StaffDetail">

<%
    StaffDetail sdInClass = new StaffDetail();//
    sdInClass.getStfName();
    sdInClass.getStfAddress();
%>

Код цалкам гэтак жа з той толькі розніцай, замест таго, каб змясціць метад у файле JSP, я стаўлю ў класе

Я хацеў бы спытаць, які раз лепш у працы.

р/с Я ведаю, што мы ў якасці вэб-праграміста Java з'яўляюцца збянтэжыць выкарыстоўваць скриптлета ў JSP файл, але па некаторых прычынах я не магу канвертаваць ўсе скриптлета ў EL. Меры, я магу зрабіць, гэта пераўтварыць метад у файле класа. На жаль я пачатковец у Java праграмаванне

3
JSP файл <�я> з'яўляецца </я> а Java-файл, у рэшце рэшт, так што не можа быць розніца ў прадукцыйнасці.
дададзена аўтар EJP, крыніца
JSP файл <�я> з'яўляецца </я> а Java-файл, у рэшце рэшт, так што не можа быць розніца ў прадукцыйнасці.
дададзена аўтар EJP, крыніца
Вы павінны ўключаць у сябе ўвесь файл JSP (яго змесціва) проста выкарыстоўваць метад. Гэта само па сабе павінна перашкаджаць вам нават думаць пра гэта, нават калі гэта было (хоць гэта не робіць) любыя гранічныя выгады прадукцыйнасці.
дададзена аўтар Ravi Thapliyal, крыніца
Вы павінны ўключаць у сябе ўвесь файл JSP (яго змесціва) проста выкарыстоўваць метад. Гэта само па сабе павінна перашкаджаць вам нават думаць пра гэта, нават калі гэта было (хоць гэта не робіць) любыя гранічныя выгады прадукцыйнасці.
дададзена аўтар Ravi Thapliyal, крыніца
дададзена аўтар informatik01, крыніца
дададзена аўтар informatik01, крыніца

8 адказы

Ну, няма праблем з прадукцыйнасцю напісання скриптлетов ў JSP або імпартуе класе Java у JSP!

У абодвух выпадках, ваш JSP будзе аўтаматычна пераўтворацца ў сэрвлета (па Jsp кантэйнера), а затым сэрвлета будзе ў канчатковым выніку будзе скампіляваны ў байт-код! І гэта будзе адбывацца адзін раз падчас разгортвання прыкладання і пасля гэтага няма JSP, няма скриптлета, няма выразы элю, толькі скампіляваныя байт-код не будзе працаваць у вашай віртуальнай машыне Java.

<�Р> Scpritlets збянтэжаны па іншых прычынах, у асноўным звязаных з чытальнасць і рамонтапрыдатнасць вашага прыкладання. Там няма нічога пра прадукцыйнасці!

З майго досведу, я магу сказаць вам, у асноўным адладкі занадта шмат цяжка ў скриптлетой Jsp старонках! Калі ваша прыкладанне выкрутасы ў скриптлете, ты мёртвы! Большая частка часу, убачыць пустую старонку без паведамленняў пра памылкі або няма дастатковай падказкі, каб прасвідраваць !!!

2
дададзена
JSP-файлы захоўваюцца пасля кампіляцыі, так што яны ўсё яшчэ прысутнічаюць пасля разгортвання.
дададзена аўтар Thorbjørn Ravn Andersen, крыніца
Так, гэта быў абмовіўся з-за хвалявання ... Lolz
дададзена аўтар Sazzadur Rahaman, крыніца

Ну, няма праблем з прадукцыйнасцю напісання скриптлетов ў JSP або імпартуе класе Java у JSP!

У абодвух выпадках, ваш JSP будзе аўтаматычна пераўтворацца ў сэрвлета (па Jsp кантэйнера), а затым сэрвлета будзе ў канчатковым выніку будзе скампіляваны ў байт-код! І гэта будзе адбывацца адзін раз падчас разгортвання прыкладання і пасля гэтага няма JSP, няма скриптлета, няма выразы элю, толькі скампіляваныя байт-код не будзе працаваць у вашай віртуальнай машыне Java.

<�Р> Scpritlets збянтэжаны па іншых прычынах, у асноўным звязаных з чытальнасць і рамонтапрыдатнасць вашага прыкладання. Там няма нічога пра прадукцыйнасці!

З майго досведу, я магу сказаць вам, у асноўным адладкі занадта шмат цяжка ў скриптлетой Jsp старонках! Калі ваша прыкладанне выкрутасы ў скриптлете, ты мёртвы! Большая частка часу, убачыць пустую старонку без паведамленняў пра памылкі або няма дастатковай падказкі, каб прасвідраваць !!!

2
дададзена
JSP-файлы захоўваюцца пасля кампіляцыі, так што яны ўсё яшчэ прысутнічаюць пасля разгортвання.
дададзена аўтар Thorbjørn Ravn Andersen, крыніца
Так, гэта быў абмовіўся з-за хвалявання ... Lolz
дададзена аўтар Sazzadur Rahaman, крыніца

Адказ на гэтае пытанне. Вы не павінны мець ніякага кода Java у JSP. Следствам з'яўляецца тое, што менш кода Java вы маеце на JSPs, тым лепш.

Гэта не мае нічога агульнага з прадукцыйнасцю, хоць. Метад ўяўляе сабой метад, і JSPs кампілююцца ў класы, якія так жа, як вашыя ўласныя класы, і кіруюцца адной і той жа віртуальнай машыны Java. Важныя рэчы тут чысты дызайн, рамонтапрыдатнасць, падзел абавязкаў, лёгкасць дакументаў, паўторнага выкарыстання і адладкі кода.

0
дададзена

Адказ на гэтае пытанне. Вы не павінны мець ніякага кода Java у JSP. Следствам з'яўляецца тое, што менш кода Java вы маеце на JSPs, тым лепш.

Гэта не мае нічога агульнага з прадукцыйнасцю, хоць. Метад ўяўляе сабой метад, і JSPs кампілююцца ў класы, якія так жа, як вашыя ўласныя класы, і кіруюцца адной і той жа віртуальнай машыны Java. Важныя рэчы тут чысты дызайн, рамонтапрыдатнасць, падзел абавязкаў, лёгкасць дакументаў, паўторнага выкарыстання і адладкі кода.

0
дададзена

Калі вы хочаце вымераць, колькі некаторы код прымае выканаць (у нанасекунды):

<% 
    long startTime = System.nanoTime(); 
%>

<%
   //... the code being measured ...
%>

<%  
    long estimatedTime = System.nanoTime() - startTime;
   //out estimatedTime
%>

Вы можаце знайсці некаторыя адрозненні статыстычна, але з'яўляюцца мінімальнымі для разгляду. Незалежна ад вынікаў, рэкамендуецца мець код Java асобна.

0
дададзена

Калі вы хочаце вымераць, колькі некаторы код прымае выканаць (у нанасекунды):

<% 
    long startTime = System.nanoTime(); 
%>

<%
   //... the code being measured ...
%>

<%  
    long estimatedTime = System.nanoTime() - startTime;
   //out estimatedTime
%>

Вы можаце знайсці некаторыя адрозненні статыстычна, але з'яўляюцца мінімальнымі для разгляду. Незалежна ад вынікаў, рэкамендуецца мець код Java асобна.

0
дададзена

Калі вы пішаце Java на старонцы JSP, віртуальная машына будзе кампіляваць код у сэрвлета, чым у байт-код падчас выканання, а затым апрацаваць запыт, калі справа даходзіць да напісання кода ў класе Java, клас кампілюецца ст. клас (байт), калі ён разгорнуты на вэб-серверы. JVM затым будзе апрацоўваць клас падчас выканання. Калі справа даходзіць да віртуальнай машыны Java апрацоўка ў ClassName.class значна хутчэй, чым .jsp. Але гэта не праблема прадукцыйнасці, так як гэта нікчэмна мала. Акрамя таго, яго лепш напісаць увесь код у класе Java, так як гэта больш бяспечна, калі гаворка ідзе пра XSS або межсайтовый скріптінга.

0
дададзена

Калі вы пішаце Java на старонцы JSP, віртуальная машына будзе кампіляваць код у сэрвлета, чым у байт-код падчас выканання, а затым апрацаваць запыт, калі справа даходзіць да напісання кода ў класе Java, клас кампілюецца ст. клас (байт), калі ён разгорнуты на вэб-серверы. JVM затым будзе апрацоўваць клас падчас выканання. Калі справа даходзіць да віртуальнай машыны Java апрацоўка ў ClassName.class значна хутчэй, чым .jsp. Але гэта не праблема прадукцыйнасці, так як гэта нікчэмна мала. Акрамя таго, яго лепш напісаць увесь код у класе Java, так як гэта больш бяспечна, калі гаворка ідзе пра XSS або межсайтовый скріптінга.

0
дададзена