⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 new.jsp

📁 这是个爬虫和lucece相结合最好了
💻 JSP
字号:
<%@include file="/include/handler.jsp"%><%@ page import="org.archive.crawler.datamodel.CrawlOrder" %><%@ page import="org.archive.crawler.admin.ui.JobConfigureUtils" %><%@ page import="org.archive.crawler.settings.ComplexType" %><%@ page import="org.archive.crawler.settings.CrawlerSettings" %><%@ page import="org.archive.crawler.settings.XMLSettingsHandler" %><%@ page import="java.io.BufferedReader" %><%@ page import="java.io.FileReader" %><%@ page import="java.util.regex.Pattern" %><%@ page import="java.util.Iterator" %><%@ page import="java.io.File" %><%    /**     * Create a new job     */    CrawlJob theJob = handler.getJob(request.getParameter("job"));    boolean isProfile = "true".equals(request.getParameter("profile"));    // Recover can have a value of 'true' if we are to do a recover-log    // based recovery else it has the name of the checkpoint we're to recover    // from.    String recovery = request.getParameter("recover");        if (theJob == null) {        // Ok, use default profile then.        theJob = handler.getDefaultProfile();        if(theJob == null){            // ERROR - This should never happen. There must always be at least            // one (default) profile.            out.println("ERROR: NO PROFILE FOUND");            return;        }    }     XMLSettingsHandler settingsHandler = theJob.getSettingsHandler();    CrawlOrder crawlOrder = settingsHandler.getOrder();    CrawlerSettings orderfile = settingsHandler.getSettingsObject(null);        String error = null;    String metaName = request.getParameter("meta/name");    String jobDescription = request.getParameter("meta/description");        if(request.getParameter("action") != null) {        // Make new job.        CrawlJob newJob = null;        // Ensure we got a valid name. ([a-zA-Z][0-9][-_])        Pattern p = Pattern.compile("[a-zA-Z_\\-0-9\\.,]*");        if (p.matcher(metaName).matches()==false) {            // Illegal name!            error = "Name can only contain letters, digits, and dash, "                   +"underscore, period, or comma ( - _ . , ).<br> "                   +"No spaces are allowed";        }                if(error == null) {            if(isProfile) {                // Ensure unique name                CrawlJob test = handler.getJob(metaName);                if(test == null) {                    // unique name                    newJob = handler.newProfile(theJob, metaName,                        jobDescription,                        request.getParameter("seeds"));                } else {                    // Need a unique name!                    error = "Profile name must be unique!";                }            } else {                newJob = handler.newJob(                    theJob,                     recovery,                    metaName,                     jobDescription,                    request.getParameter("seeds"),                    CrawlJob.PRIORITY_AVERAGE);            }        }                if(error == null && newJob != null) {            // Ensure order file with new name/desc is written            // [ 1066573 ] sometimes job based-on other job uses older job name            handler.ensureNewJobWritten(newJob, metaName, jobDescription);            if(request.getParameter("action").equals("configure")){                response.sendRedirect(request.getContextPath() +                    "/jobs/configure.jsp?job="+newJob.getUID());            } else if(request.getParameter("action").equals("modules")){                response.sendRedirect(request.getContextPath() +                   "/jobs/modules.jsp?job="+newJob.getUID());            } else if(request.getParameter("action").equals("submodules")){                response.sendRedirect(request.getContextPath() +                   "/jobs/submodules.jsp?job="+newJob.getUID());            } else if(request.getParameter("action").equals("override")){                response.sendRedirect(request.getContextPath() +                   "/jobs/per/overview.jsp?job="+newJob.getUID());            } else {                handler.addJob(newJob);                response.sendRedirect(request.getContextPath() +                   "/jobs.jsp?message=Job created");            }            return;        }    }        String title = isProfile?"New profile":"New crawl job";    int tab = isProfile?2:1;    // TODO: Offer setting of priority.%><%@include file="/include/head.jsp"%>        <form name="frmNew" method="post" action="new.jsp">            <input type="hidden" name="action" value="new">            <input type="hidden" name="profile" value="<%=isProfile%>">            <input type="hidden" name="job" value="<%=theJob.getUID()%>">            <%     if(recovery != null && recovery.length() > 0) { %>            <input type="hidden" name="recover" value="<%=recovery%>">            <%    }  %>            <b>                Create new             <%     if(isProfile){ %>                profile            <%    } else { %>                crawl job             <%    }    %>                based on            <%     if(recovery != null && recovery.length() > 0) { %>                recovery of             <%    }  %>            <%     if(request.getParameter("job")==null){%>                default profile            <%                 }else{                     if(theJob.isProfile()){                        out.println("profile ");                                        } else {                        out.println("job ");                    }                    out.println("'"+theJob.getJobName()+"'");                 }            %>                </b>            <p>                        <table>                <tr>                    <td>                        Name of new <%= isProfile ? "profile" : "job" %>:                    </td>                    <td>                        <input maxlength="38" name="meta/name" value="<%=error==null?orderfile.getName():metaName%>" style="width: 440px">                    </td>                </tr>                <% if(error != null){ %>                    <tr>                        <td>                        </td>                        <td>                            <span class="error"><%=error%></span>                        </td>                    </tr>                <% } %>                <tr>                    <td>                        Description:                    </td>                    <td>                        <input name="meta/description" value="<%=error==null?orderfile.getDescription():request.getParameter("meta/description")%>" style="width: 440px">                    </td>                </tr>                <tr>                    <td valign="top">                        Seeds:                    </td>                    <td><font size="-1">Fill in seed URIs below, one per line.                    Comment lines begin with '#'.</font></br>                        <textarea name="seeds" style="width: 440px" rows="8"><%                            if(error == null) {                                JobConfigureUtils.                                    printOutSeeds(settingsHandler, out);                            } else {                                out.println(request.getParameter("seeds"));                            }                        %></textarea>                    </td>                </tr>                <tr>                <td colspan="2" align="right"><input type="button" value="Modules"   onClick="document.frmNew.action.value='modules';document.frmNew.submit()"><input type="button" value="Submodules"   onClick="document.frmNew.action.value='submodules';document.frmNew.submit()"><input type="button" value="Settings"    onClick="document.frmNew.action.value='configure';document.frmNew.submit()"><input type="button" value="Overrides"    onClick="document.frmNew.action.value='override';document.frmNew.submit()"><% if(isProfile == false){ %>    <input type="submit" value="Submit job"><% } %>                </td>                </tr>            </table>        </form>        <%@include file="/include/foot.jsp"%>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -