Quantcast
Channel: Active questions tagged servlets - Stack Overflow
Viewing all articles
Browse latest Browse all 675

The servlets named [ClassName] and [com.example.ClassName] are both mapped to the url-pattern [/ClassName] which is not permitted [duplicate]

$
0
0

I have created a little Java Jsp program to learn Java Jsp.But when Itry to show the data in the browser I allways get this error message.Can someone please help me with this problem? I just post the error message.Please let me know if you need more information? I almost have no experiencewith posting problems in stackoverflow.

März 20, 2024 8:11:38 AM org.apache.catalina.startup.VersionLoggerListener logINFORMATION: Server Version:        Apache Tomcat/10.1.19März 20, 2024 8:11:38 AM org.apache.catalina.startup.VersionLoggerListener logINFORMATION: Server built:          Feb 14 2024 19:36:50 UTCMärz 20, 2024 8:11:38 AM org.apache.catalina.startup.VersionLoggerListener logINFORMATION: Server version number: 10.1.19.0März 20, 2024 8:11:38 AM org.apache.catalina.startup.VersionLoggerListener logINFORMATION: OS Name:               Windows 10März 20, 2024 8:11:38 AM org.apache.catalina.startup.VersionLoggerListener logINFORMATION: OS Version:            10.0März 20, 2024 8:11:38 AM org.apache.catalina.startup.VersionLoggerListener logINFORMATION: Architektur:           amd64März 20, 2024 8:11:38 AM org.apache.catalina.startup.VersionLoggerListener logINFORMATION: Java Home:             C:\Users\hugo\.p2\pool\plugins\org.eclipse.justj.openjdk.hotspot.jre.full.win32.x86_64_17.0.10.v20240120-1143\jreMärz 20, 2024 8:11:38 AM org.apache.catalina.startup.VersionLoggerListener logINFORMATION: JVM Version:           17.0.10+7März 20, 2024 8:11:38 AM org.apache.catalina.startup.VersionLoggerListener logINFORMATION: JVM Hersteller:        Eclipse AdoptiumMärz 20, 2024 8:11:38 AM org.apache.catalina.startup.VersionLoggerListener logINFORMATION: CATALINA_BASE:         C:\Users\hugo\eclipse-workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp1März 20, 2024 8:11:38 AM org.apache.catalina.startup.VersionLoggerListener logINFORMATION: CATALINA_HOME:         C:\Program Files\Apache Software Foundation\Tomcat 10.1März 20, 2024 8:11:38 AM org.apache.catalina.startup.VersionLoggerListener logINFORMATION: Command line argument: -Dcatalina.base=C:\Users\hugo\eclipse-workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp1März 20, 2024 8:11:38 AM org.apache.catalina.startup.VersionLoggerListener logINFORMATION: Command line argument: -Dcatalina.home=C:\Program Files\Apache Software Foundation\Tomcat 10.1März 20, 2024 8:11:38 AM org.apache.catalina.startup.VersionLoggerListener logINFORMATION: Command line argument: -Dwtp.deploy=C:\Users\hugo\eclipse-workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp1\wtpwebappsMärz 20, 2024 8:11:38 AM org.apache.catalina.startup.VersionLoggerListener logINFORMATION: Command line argument: --add-opens=java.base/java.lang=ALL-UNNAMEDMärz 20, 2024 8:11:38 AM org.apache.catalina.startup.VersionLoggerListener logINFORMATION: Command line argument: --add-opens=java.base/java.io=ALL-UNNAMEDMärz 20, 2024 8:11:38 AM org.apache.catalina.startup.VersionLoggerListener logINFORMATION: Command line argument: --add-opens=java.base/java.util=ALL-UNNAMEDMärz 20, 2024 8:11:38 AM org.apache.catalina.startup.VersionLoggerListener logINFORMATION: Command line argument: --add-opens=java.base/java.util.concurrent=ALL-UNNAMEDMärz 20, 2024 8:11:38 AM org.apache.catalina.startup.VersionLoggerListener logINFORMATION: Command line argument: --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMEDMärz 20, 2024 8:11:38 AM org.apache.catalina.startup.VersionLoggerListener logINFORMATION: Command line argument: -Dfile.encoding=UTF-8März 20, 2024 8:11:38 AM org.apache.catalina.startup.VersionLoggerListener logINFORMATION: Command line argument: -Dstdout.encoding=UTF-8März 20, 2024 8:11:38 AM org.apache.catalina.startup.VersionLoggerListener logINFORMATION: Command line argument: -Dstderr.encoding=UTF-8März 20, 2024 8:11:38 AM org.apache.catalina.startup.VersionLoggerListener logINFORMATION: Command line argument: -XX:+ShowCodeDetailsInExceptionMessagesMärz 20, 2024 8:11:38 AM org.apache.catalina.core.AprLifecycleListener lifecycleEventINFORMATION: The Apache Tomcat Native library which allows using OpenSSL was not found on the java.library.path: [C:\Users\hugo\.p2\pool\plugins\org.eclipse.justj.openjdk.hotspot.jre.full.win32.x86_64_17.0.10.v20240120-1143\jre\bin;C:\WINDOWS\Sun\Java\bin;C:\WINDOWS\system32;C:\WINDOWS;C:/Users/hugo/.p2/pool/plugins/org.eclipse.justj.openjdk.hotspot.jre.full.win32.x86_64_17.0.10.v20240120-1143/jre/bin/server;C:/Users/hugo/.p2/pool/plugins/org.eclipse.justj.openjdk.hotspot.jre.full.win32.x86_64_17.0.10.v20240120-1143/jre/bin;C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\Program Files (x86)\Intel\iCLS Client\;C:\Program Files\Intel\iCLS Client\;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files\Intel\Intel(R) Management Engine Components\IPT;C:\WINDOWS\System32\OpenSSH\;C:\Program Files\Intel\WiFi\bin\;C:\Program Files\Common Files\Intel\WirelessCommon\;C:\Program Files (x86)\Universal Extractor;C:\Program Files (x86)\Universal Extractor\bin;C:\Program Files\Microsoft SQL Server\Client SDK\ODBC\130\Tools\Binn\;C:\Program Files (x86)\Microsoft SQL Server\140\Tools\Binn\;C:\Program Files\Microsoft SQL Server\140\Tools\Binn\;C:\Program Files\Microsoft SQL Server\140\DTS\Binn\;C:\Program Files (x86)\Microsoft SQL Server\150\DTS\Binn\;C:\Program Files\MySQL\MySQL Server 8.0\bin;C:\Program Files\Git\cmd;C:\Program Files (x86)\Notepad++;C:\Users\hugo\Desktop\JDK,Maven und GIT\apache-maven-3.6.3\bin;C:\Program Files\nodejs\;C:\Users\hugo\AppData\Local\Programs\Python\Python310\Scripts\;C:\Users\hugo\AppData\Local\Programs\Python\Python310\;C:\Program Files\MySQL\MySQL Shell 8.0\bin\;C:\Users\hugo\AppData\Local\Microsoft\WindowsApps;C:\Program Files (x86)\Notepad++;;C:\Users\hugo\AppData\Local\Programs\Microsoft VS Code\bin;C:\Users\hugo\AppData\Roaming\npm;C:\Users\hugo\eclipse\jee-2023-12\eclipse;;.]März 20, 2024 8:11:39 AM org.apache.coyote.AbstractProtocol initINFORMATION: Initialisiere ProtocolHandler["http-nio-8080"]März 20, 2024 8:11:39 AM org.apache.catalina.startup.Catalina loadINFORMATION: Server initialization in [2164] millisecondsMärz 20, 2024 8:11:39 AM org.apache.catalina.core.StandardService startInternalINFORMATION: Starting service [Catalina]März 20, 2024 8:11:39 AM org.apache.catalina.core.StandardEngine startInternalINFORMATION: Starting Servlet engine: [Apache Tomcat/10.1.19]März 20, 2024 8:11:40 AM org.apache.catalina.startup.HostConfig deployDescriptorINFORMATION: Deploying deployment descriptor [C:\Users\hugo\eclipse-workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp1\conf\Catalina\localhost\web-student-tracker.xml]März 20, 2024 8:11:40 AM org.apache.catalina.startup.HostConfig deployDescriptorWARNUNG: The path attribute with value [/web-student-tracker] in deployment descriptor [C:\Users\hugo\eclipse-workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp1\conf\Catalina\localhost\web-student-tracker.xml] has been ignoredMärz 20, 2024 8:11:40 AM org.apache.catalina.startup.HostConfig deployDescriptorSCHWERWIEGEND: Error deploying deployment descriptor [C:\Users\hugo\eclipse-workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp1\conf\Catalina\localhost\web-student-tracker.xml]java.lang.IllegalStateException: Error starting child    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:686)    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:658)    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:712)    at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:635)    at org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1889)    at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)    at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)    at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)    at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:123)    at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:530)    at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:421)    at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1629)    at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:303)    at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:114)    at org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:402)    at org.apache.catalina.util.LifecycleBase.setState(LifecycleBase.java:345)    at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:893)    at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:845)    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:171)    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1332)    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1322)    at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)    at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)    at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:145)    at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:866)    at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:240)    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:171)    at org.apache.catalina.core.StandardService.startInternal(StandardService.java:433)    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:171)    at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:921)    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:171)    at org.apache.catalina.startup.Catalina.start(Catalina.java:757)    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)    at java.base/java.lang.reflect.Method.invoke(Method.java:568)    at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:345)    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:476)Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/web-student-tracker]]    at org.apache.catalina.util.LifecycleBase.handleSubClassException(LifecycleBase.java:419)    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:186)    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:683)    ... 37 moreCaused by: java.lang.IllegalArgumentException: The servlets named [StudentControllerServlet] and [com.luv2code.web.jdbc.StudentControllerServlet] are both mapped to the url-pattern [/StudentControllerServlet] which is not permitted    at org.apache.tomcat.util.descriptor.web.WebXml.addServletMappingDecoded(WebXml.java:354)    at org.apache.tomcat.util.descriptor.web.WebXml.addServletMapping(WebXml.java:347)    at org.apache.catalina.startup.ContextConfig.processAnnotationWebServlet(ContextConfig.java:2539)    at org.apache.catalina.startup.ContextConfig.processClass(ContextConfig.java:2244)    at org.apache.catalina.startup.ContextConfig.processAnnotationsStream(ContextConfig.java:2233)    at org.apache.catalina.startup.ContextConfig.processAnnotationsWebResource(ContextConfig.java:2143)    at org.apache.catalina.startup.ContextConfig.processAnnotationsWebResource(ContextConfig.java:2138)    at org.apache.catalina.startup.ContextConfig.processAnnotationsWebResource(ContextConfig.java:2138)    at org.apache.catalina.startup.ContextConfig.processAnnotationsWebResource(ContextConfig.java:2138)    at org.apache.catalina.startup.ContextConfig.processAnnotationsWebResource(ContextConfig.java:2138)    at org.apache.catalina.startup.ContextConfig.processClasses(ContextConfig.java:1351)    at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1261)    at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:961)    at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:290)    at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:114)    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:4782)    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:171)    ... 38 moreMärz 20, 2024 8:11:40 AM org.apache.catalina.startup.HostConfig deployDescriptorINFORMATION: Deployment of deployment descriptor [C:\Users\hugo\eclipse-workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp1\conf\Catalina\localhost\web-student-tracker.xml] has finished in [189] msMärz 20, 2024 8:11:40 AM org.apache.coyote.AbstractProtocol startINFORMATION: Starting ProtocolHandler ["http-nio-8080"]März 20, 2024 8:11:40 AM org.apache.catalina.startup.Catalina startINFORMATION: Server startup in [1238] milliseconds```------------------------------------------------------------------------------------------------------------------------------------------------------A simple Student class which creates a Student object

package com.luv2code.web.jdbc;

public class Student {

private int id;private String firstName;private String lastName;private String email;public Student(String firstName, String lastName, String email) {    this.firstName = firstName;    this.lastName = lastName;    this.email = email;}public Student(int id, String firstName, String lastName, String email) {    this.id = id;    this.firstName = firstName;    this.lastName = lastName;    this.email = email;}public int getId() {    return id;}public void setId(int id) {    this.id = id;}public String getFirstName() {    return firstName;}public void setFirstName(String firstName) {    this.firstName = firstName;}public String getLastName() {    return lastName;}public void setLastName(String lastName) {    this.lastName = lastName;}public String getEmail() {    return email;}public void setEmail(String email) {    this.email = email;}@Overridepublic String toString() {    return "Student [id=" + id +", firstName=" + firstName +", lastName=" + lastName +", email=" + email +"]";}   

}

the class which creates the connection to the db:

package com.luv2code.web.jdbc;

import java.sql.Connection;import java.sql.ResultSet;import java.sql.Statement;import java.util.*;

import javax.sql.DataSource;

public class StudentDbUtil {

private DataSource dataSource;public StudentDbUtil(DataSource thedata) {    dataSource=thedata;}public List <Student> getStudent()throws Exception{    List<Student> students=new ArrayList<>();    Connection myConn=null;    Statement myStmt=null;    ResultSet myRs=null;    try {    //get a connection        myConn=dataSource.getConnection();    // create query        String sql="select* from student";        myStmt=myConn.createStatement();    // execute query    myRs=myStmt.executeQuery(sql);    // process result    while(myRs.next()) {        // get data        int id=myRs.getInt("id");        String firstname=myRs.getString("first_name");        String lastname=myRs.getString("last_name");        String email=myRs.getString("email");        // create student        Student tempStudent= new Student(id,firstname,lastname,email);        // add student to list        students.add(tempStudent);    }    return students;    }    finally {        close(myConn,myStmt,myRs);    }}private void close(Connection myConn, Statement myStmt, ResultSet myRs) {    try {        if(myRs !=null) {            myRs.close();        }        if(myStmt !=null) {            myStmt.close();        }        if(myConn !=null) {            myConn.close();        }    }    catch(Exception exc){        exc.printStackTrace();    }}

}

------------------------------------------------------------------------------------------the servlet class which is the controller and creates I think the problem:

package com.luv2code.web.jdbc;

import jakarta.annotation.Resource;import jakarta.servlet.RequestDispatcher;import jakarta.servlet.ServletException;import jakarta.servlet.annotation.WebServlet;import jakarta.servlet.http.HttpServlet;import jakarta.servlet.http.HttpServletRequest;import jakarta.servlet.http.HttpServletResponse;import java.io.IOException;import java.util.*;

import javax.sql.DataSource;

@WebServlet("/StudentControllerServlet") <-------------------------- I tryed with and without this annotationpublic class StudentControllerServlet extends HttpServlet {private static final long serialVersionUID = 1L;

private StudentDbUtil studentDbUtil;@Resource(name="jdbc/web_student_tracker")private DataSource dataSource;@Resource(name="")@Overridepublic void init() throws ServletException {    super.init();    // diese Methode wird beim Start von Tocat Server aufgerufen    // hier wird jetzt StudentDbUtil aufgerufen und dann ein DataSource übergeben (DataSource verstehe ich noch nicht    try {        studentDbUtil=new StudentDbUtil(dataSource);    }    catch (Exception exc) {        throw new ServletException(exc);    }}protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {    try {        listStudents(request,response);    } catch (Exception e) {        e.printStackTrace();    }}private void listStudents(HttpServletRequest request, HttpServletResponse response)throws Exception {    List<Student> students= studentDbUtil.getStudent();    request.setAttribute("STUDENT_LIST", students);    RequestDispatcher dispatcher=request.getRequestDispatcher("/list-students.jsp");    dispatcher.forward(request, response);}

}

--------------------------------------------------------------------------------------------------And the Jsp as view:

<%@ page import="java.util., com.luv2code.web.jdbc." %>

Student Tracker App

<%// get the students from the request object (sent by servlet)List theStudents =(List) request.getAttribute("STUDENT_LIST");%>

Like I said in the code. I tryed with and without this line :@WebServlet("/StudentControllerServlet")I changed the Tomcatserver from 10 to 9.

Viewing all articles
Browse latest Browse all 675

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>