如果您想了解关于jsp的action如何调用servlet的自定义方法和jsp中调用servlet的知识,那么本篇文章将是您的不二之选。我们将深入剖析关于jsp的action如何调用servlet的自
如果您想了解关于 jsp 的 action 如何调用 servlet 的自定义方法和jsp中调用servlet的知识,那么本篇文章将是您的不二之选。我们将深入剖析关于 jsp 的 action 如何调用 servlet 的自定义方法的各个方面,并为您解答jsp中调用servlet的疑在这篇文章中,我们将为您介绍关于 jsp 的 action 如何调用 servlet 的自定义方法的相关知识,同时也会详细的解释jsp中调用servlet的运用方法,并给出实际的案例分析,希望能帮助到您!
本文目录一览:- 关于 jsp 的 action 如何调用 servlet 的自定义方法(jsp中调用servlet)
- asp.net-mvc-3 – 自定义ActionInvoker与MVC 3中ActionFilter依赖注入的自定义FilterProvider
- http-500:Servlet.init() for servlet SpringDispatcherServlet threw exception
- IllegalArgumentException:名为[com.staff.servlet.AllocationServlet]和[com.staff.servlet.SearchConditionServlet]的servlet都被映射[重复]
- java.lang.ClassNotFoundException:org.apache.jasper.servlet.JspServlet
关于 jsp 的 action 如何调用 servlet 的自定义方法(jsp中调用servlet)
一、起因:
希望将同属于某个模块的简单功能整合到一起,不创建太多的servlet
二、问题描述:
action或者method属性是否能直接调用自定义方法
三、补充知识点:
查询得知:servelet只是处理发送页面发送的请求的,一般只用doGet()和doPost()方法
四、解决方法:
思路:利用隐藏的参数判断调用哪个方法
- 在请求页面加一个隐藏域 <input type="hidden" name = " 请求页面的名字 "/>
- servelet 获取 name 值,根据 name 值决定该调用哪个方法或者如何处理请求
asp.net-mvc-3 – 自定义ActionInvoker与MVC 3中ActionFilter依赖注入的自定义FilterProvider
在这两种情况下,您仍然希望避免在ActionFilters上进行构造函数注入,对我来说,似乎所有自定义FilterProvider在这种情况下都会增加额外的开销,即必须在容器中注册ActionFilters和提供程序.
解决方法
我不确定Unity是否有一个很好的实现.请参阅http://www.planetgeek.ch/2010/11/13/official-ninject-mvc-extension-gets-support-for-mvc3/,感觉如何.但这是一个Ninject的例子.可能你可以在github上实现它的实现并将它移植到Unity.
http-500:Servlet.init() for servlet SpringDispatcherServlet threw exception
在使用solr与spring一起后,配置完再去访问,总是找不到controller。很愁,找不到原因,愿大神指点一二,感激。。。
controller层
package com.lxy.main; import com.lxy.entity.ResultModel; import com.lxy.service.ProductService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.RequestMapping; /** * Created by BlingBlingBling on 2017/8/18. */ @Controller @RequestMapping("/product") public class ProductController { @Autowired private ProductService service; @RequestMapping("/list") public String list(String querything, String catalog_name, String price, String sort, Integer page, Model model) throws Exception{ ResultModel rm = service.getProducts(querything, catalog_name, price, sort, page); //将查询结果防到request作用域 model.addAttribute("result",rm); //简单类型的数据回显 model.addAttribute("querything",querything); model.addAttribute("catalog_name",catalog_name); model.addAttribute("price",price); model.addAttribute("sort",sort); model.addAttribute("page",page); return "product_list"; } }
service
package com.lxy.service;
import com.lxy.entity.ResultModel;
/**
* Created by BlingBlingBling on 2017/8/18.
*/
public interface ProductService {
public ResultModel getProducts(String querything,String catalogName,String price,String sort,Integer page) throws Exception;
}
serviceImpl
package com.lxy.service.impl; import com.lxy.entity.Products; import com.lxy.entity.ResultModel; import com.lxy.service.ProductService; import org.apache.commons.lang.StringUtils; import org.apache.solr.client.solrj.SolrQuery; import org.apache.solr.client.solrj.impl.HttpSolrServer; import org.apache.solr.client.solrj.response.QueryResponse; import org.apache.solr.common.SolrDocument; import org.apache.solr.common.SolrDocumentList; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.ArrayList; import java.util.List; import java.util.Map; /** * Created by BlingBlingBling on 2017/8/18. */ @Service public class ProductServiceImpl implements ProductService{ @Autowired //依赖注入server private HttpSolrServer server; @Override public ResultModel getProducts(String querything, String catalogName, String price, String sort, Integer page) throws Exception { //创建SolrQuery对象 SolrQuery query = new SolrQuery(); //输入关键字 if(StringUtils.isNotEmpty(querything)){ query.setQuery(querything); }else{ query.setQuery("*:*"); } //输入商品分类过滤条件 if(StringUtils.isNotEmpty(catalogName)){ query.addFilterQuery("product_catalog_name:"+catalogName); } // 输入价格区间过滤条件 // price的值:0-9 10-19 if (StringUtils.isNotEmpty(price)) { String[] ss = price.split("-"); if (ss.length == 2) { query.addFilterQuery("product_price:[" + ss[0] + " TO " + ss[1] + "]"); } } // 设置排序 if ("1".equals(sort)) { query.setSort("product_price", SolrQuery.ORDER.desc); } else { query.setSort("product_price", SolrQuery.ORDER.asc); } // 设置分页信息 if (page == null) page = 1; query.setStart((page - 1) * 20); query.setRows(20); // 设置默认域 query.set("df", "product_keywords"); // 设置高亮信息 query.setHighlight(true); query.addHighlightField("product_name"); query.setHighlightSimplePre("<font style=\"color:red\" >"); query.setHighlightSimplePost("</font>"); QueryResponse response = server.query(query); // 查询出的结果 SolrDocumentList results = response.getResults(); // 记录总数 long count = results.getNumFound(); List<Products> products = new ArrayList<>(); Products prod; // 获取高亮信息 Map<String, Map<String, List<String>>> highlighting = response .getHighlighting(); for (SolrDocument doc : results) { prod = new Products(); // 商品ID prod.setPid(Integer.parseInt(doc.get("id").toString())); List<String> list = highlighting.get(doc.get("id")).get( "product_name"); // 商品名称 if (list != null) prod.setName(list.get(0)); else { prod.setName(doc.get("product_name").toString()); } // 商品价格 prod.setPrice(Integer.parseInt(doc.get("product_price").toString())); // 商品图片地址 prod.setPicture(doc.get("product_picture").toString()); products.add(prod); } // 封装ResultModel对象 ResultModel rm = new ResultModel(); rm.setProductList(products); rm.setCurPage(page); rm.setRecordCount(count); int pageCount = (int) (count / 20); if (count % 20 > 0) pageCount++; // 设置总页数 rm.setPageCount(pageCount); return rm; } }
spring.xml
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xmlns:tx="http://www.springframework.org/schema/tx" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:p="http://www.springframework.org/schema/p" xmlns:util="http://www.springframework.org/schema/util" xmlns:jdbc="http://www.springframework.org/schema/jdbc" xsi:schemaLocation="http://www.springframework.org/schema/jdbc http://www.springframework.org/schema/jdbc/spring-jdbc-4.0.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.0.xsd http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-4.0.xsd"> <!-- 扫描service,mapper包 --> <!--<context:component-scan base-package="com.lxy"></context:component-scan>--> <!-- 引入配置文件 --> <!--<bean id="propertyConfigurer" > <property name="location" value="classpath:jdbc.properties" /> </bean>--> <!-- 创建数据源(数据库连接池使用DBCP) --> <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"> <!--<property name="driverClassName" value="${driver}"></property> <property name="url" value="${url}"></property> <property name="username" value="${username}"></property> <property name="password" value="${password}"></property>--> </bean> <!-- MyBatis --> <!-- spring和MyBatis完美整合,不需要mybatis的配置映射文件 --> <!--<bean id="sqlSessionFactory"> <property name="dataSource" ref="dataSource" /> </bean>--> <!-- Mapper接口所在包名,Spring会自动查找其下的类 --> <!--<bean> <property name="basePackage" value="com.lxy.mapper" /> <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"></property> </bean>--> <!-- spring --> <!-- 配置事务 --> <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <property name="dataSource" ref="dataSource" /> </bean> <!-- 开启事务控制的注解支持 --> <tx:annotation-driven transaction-manager="transactionManager"/> </beans>
spring-mvc.xml
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xmlns:tx="http://www.springframework.org/schema/tx" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:p="http://www.springframework.org/schema/p" xmlns:util="http://www.springframework.org/schema/util" xmlns:jdbc="http://www.springframework.org/schema/jdbc" xsi:schemaLocation="http://www.springframework.org/schema/jdbc http://www.springframework.org/schema/jdbc/spring-jdbc-4.0.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.0.xsd http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-4.0.xsd"> <!-- 扫描controller --> <context:component-scan base-package="com.lxy.main"></context:component-scan> <!-- 配置返回页面 --> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/WEB-INF/jsp/" /> <property name="suffix" value=".jsp" /> </bean> <!-- 配置HttpSolrServer --> <bean class="org.apache.solr.client.solrj.impl.HttpSolrServer"> <constructor-arg value="http://localhost:8080/solr/"></constructor-arg> </bean> </beans>
web.xml
<?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/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0"> <!-- 配置springMVC的核心控制器 Start--> <!-- spring MVC DispatcherServlet --> <servlet> <servlet-name>SpringDispatcherServlet</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:spring-mvc.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>SpringDispatcherServlet</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping> <!-- 配置springMVC的核心控制器 End--> <!-- 配置spring Start--> <context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:spring.xml</param-value> </context-param> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <!-- 配置spring End--> <!-- 过滤器 --> <filter> <filter-name>EncodingFilter</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <init-param> <param-name>encoding</param-name> <param-value>UTF-8</param-value> </init-param> </filter> <filter-mapping> <filter-name>EncodingFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <!-- 欢迎页面 --> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> </web-app>
org.springframework.beans.factory.BeanCreationException: Error creating bean with name ''productController'': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: private com.lxy.service.ProductService com.lxy.main.ProductController.service; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [com.lxy.service.ProductService] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)} org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:292) org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1185) org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:537) org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:475) org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:304) org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:228) org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:300) org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:195) org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:700) org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:760) org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:482) org.springframework.web.servlet.FrameworkServlet.configureAndRefreshWebApplicationContext(FrameworkServlet.java:643) org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:606) org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:657) org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:525) org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:466) org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:136) javax.servlet.GenericServlet.init(GenericServlet.java:160) org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502) org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99) org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953) org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408) org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1023) org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589) org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310) java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) java.lang.Thread.run(Thread.java:745)
root cause
org.springframework.beans.factory.BeanCreationException: Could not autowire field: private com.lxy.service.ProductService com.lxy.main.ProductController.service; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [com.lxy.service.ProductService] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)} org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:508) org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:87) org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:289) org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1185) org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:537) org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:475) org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:304) org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:228) org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:300) org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:195) org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:700) org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:760) org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:482) org.springframework.web.servlet.FrameworkServlet.configureAndRefreshWebApplicationContext(FrameworkServlet.java:643) org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:606) org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:657) org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:525) org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:466) org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:136) javax.servlet.GenericServlet.init(GenericServlet.java:160) org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502) org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99) org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953) org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408) org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1023) org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589) org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310) java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) java.lang.Thread.run(Thread.java:745)
报错信息
org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [com.lxy.service.ProductService] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)} org.springframework.beans.factory.support.DefaultListableBeanFactory.raiseNoSuchBeanDefinitionException(DefaultListableBeanFactory.java:1100) org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:960) org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:855) org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:480) org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:87) org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:289) org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1185) org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:537) org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:475) org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:304) org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:228) org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:300) org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:195) org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:700) org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:760) org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:482) org.springframework.web.servlet.FrameworkServlet.configureAndRefreshWebApplicationContext(FrameworkServlet.java:643) org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:606) org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:657) org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:525) org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:466) org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:136) javax.servlet.GenericServlet.init(GenericServlet.java:160) org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502) org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99) org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953) org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408) org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1023) org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589) org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310) java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) java.lang.Thread.run(Thread.java:745)
这是代码,辛苦各位大神看一下,帮帮忙,谢谢!
IllegalArgumentException:名为[com.staff.servlet.AllocationServlet]和[com.staff.servlet.SearchConditionServlet]的servlet都被映射[重复]
当我尝试执行项目时,即使没有项目在运行,我也总是会收到此错误。我想摆脱这个问题。请帮帮我。解决方案是什么?我的控制台说
Nov 27, 2013 8:54:38 PM org.apache.catalina.core.AprLifecycleListener init INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: C:\Program Files (x86)\Java\jdk1.6.0_24\bin;.;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:/Prog ram Files (x86)/Java/jdk1.6.0_24/bin/../jre/bin/client;C:/Program Files (x86)/Java/jdk1.6.0_24/bin/../jre/bin;C:/Program Files (x86)/Java/jdk1.6.0_24/bin/../jre/lib/i386;C:\Program Files (x86)\Java\jdk1.6.0_24\bin;C:\Program Files (x86)\PC Connectivity Solution\;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\Windo wsPowerShell\v1.0\;;C:\Program Files (x86)\Samsung\Samsung PC Studio 3\;c:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\;c:\Program Files\Microsoft SQL Server\100\Tools\Binn\;c:\Program Files\Microsoft SQL Server\100\DTS\Binn\;c:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\VSShell\Common7\IDE\;c:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\IDE\PrivateAssemblies\;c:\Program Files (x86)\Microsoft SQL Server\100\DTS\Binn\;C:\Program Files\MySQL\MySQL Server 5.5\bin;C:\Program Files (x86)\QuickTime\QTSystem\ Nov 27, 2013 8:54:38 PM org.apache.tomcat.util.digester.SetPropertiesRule begin WARNING: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property ''source'' to ''org.eclipse.jst.jee.server:staffs'' did not find a matching property. Nov 27, 2013 8:54:38 PM org.apache.coyote.AbstractProtocol init INFO: Initializing ProtocolHandler ["http-bio-8080"] Nov 27, 2013 8:54:38 PM org.apache.coyote.AbstractProtocol init INFO: Initializing ProtocolHandler ["ajp-bio-8009"] Nov 27, 2013 8:54:38 PM org.apache.catalina.startup.Catalina load INFO: Initialization processed in 753 ms Nov 27, 2013 8:54:38 PM org.apache.catalina.core.StandardService startInternal INFO: Starting service Catalina Nov 27, 2013 8:54:38 PM org.apache.catalina.core.StandardEngine startInternal INFO: Starting Servlet Engine: Apache Tomcat/7.0.42 Nov 27, 2013 8:54:39 PM org.apache.catalina.loader.WebappClassLoader validateJarFile INFO: validateJarFile(C:\Users\Ramya\workspace1\.metadata\.plugins\org.eclipse.wst.server.core\tm p0\wtpwebapps\staffs\WEB-INF\lib\servlet-api.jar) - jar not loaded. See Servlet Spec 2.3, section 9.7.2. Offending class: javax/servlet/Servlet.class Nov 27, 2013 8:54:39 PM org.apache.catalina.core.ContainerBase startInternal SEVERE: A child container failed during start java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/staffs]]at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:222)at java.util.concurrent.FutureTask.get(FutureTask.java:83)at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1123)at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:800)at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559)at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549)at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)at java.util.concurrent.FutureTask.run(FutureTask.java:138)at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) at java.lang.Thread.run(Thread.java:662) Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/staffs]]at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)... 7 more Caused by: java.lang.IllegalArgumentException: The servlets named [com.staff.servlet.AllocationServlet] and [com.staff.servlet.SearchConditionServlet] are both mapped to the url-pattern [/AllocationServlet] which is not permittedat org.apache.catalina.deploy.WebXml.addServletMapping(WebXml.java:335)at org.apache.catalina.startup.ContextConfig.processAnnotationWebServlet(ContextConfig.java:24 50)at org.apache.catalina.startup.ContextConfig.processAnnotationsStream(ContextConfig.java:2132)at org.apache.catalina.startup.ContextConfig.processAnnotationsFile(ContextConfig.java:2093)at org.apache.catalina.startup.ContextConfig.processAnnotationsFile(ContextConfig.java:2086)at org.apache.catalina.startup.ContextConfig.processAnnotationsFile(ContextConfig.java:2086)at org.apache.catalina.startup.ContextConfig.processAnnotationsFile(ContextConfig.java:2086)at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1293)at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:878)at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:376)at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5322)at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)... 7 more Nov 27, 2013 8:54:39 PM org.apache.catalina.core.ContainerBase startInternal SEVERE: A child container failed during start java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost]]at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:222)at java.util.concurrent.FutureTask.get(FutureTask.java:83)at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1123)at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:302)at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)at org.apache.catalina.core.StandardService.startInternal(StandardService.java:443)at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:732)at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)at org.apache.catalina.startup.Catalina.start(Catalina.java:691)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)at java.lang.reflect.Method.invoke(Method.java:597)at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:322)at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:456) Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost]]at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559)at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549)at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)at java.util.concurrent.FutureTask.run(FutureTask.java:138)at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)at java.lang.Thread.run(Thread.java:662) Caused by: org.apache.catalina.LifecycleException: A child container failed during startat org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1131)at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:800)at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)... 7 more Nov 27, 2013 8:54:39 PM org.apache.catalina.startup.Catalina start SEVERE: The required Server component failed to start so Tomcat is unable to start. org.apache.catalina.LifecycleException: Failed to start component [StandardServer[8005]]at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)at org.apache.catalina.startup.Catalina.start(Catalina.java:691)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)at java.lang.reflect.Method.invoke(Method.java:597)at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:322)at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:456) Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardService[Catalina]]at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:732)at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)... 7 more Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina]]at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)at org.apache.catalina.core.StandardService.startInternal(StandardService.java:443)at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)... 9 more Caused by: org.apache.catalina.LifecycleException: A child container failed during startat org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1131)at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:302)at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) ... 11 more Nov 27, 2013 8:54:39 PM org.apache.coyote.AbstractProtocol pause INFO: Pausing ProtocolHandler ["http-bio-8080"] Nov 27, 2013 8:54:39 PM org.apache.coyote.AbstractProtocol pause INFO: Pausing ProtocolHandler ["ajp-bio-8009"] Nov 27, 2013 8:54:39 PM org.apache.catalina.core.StandardService stopInternal INFO: Stopping service Catalina Nov 27, 2013 8:54:39 PM org.apache.coyote.AbstractProtocol destroy INFO: Destroying ProtocolHandler ["http-bio-8080"] Nov 27, 2013 8:54:39 PM org.apache.coyote.AbstractProtocol destroy INFO: Destroying ProtocolHandler ["ajp-bio-8009"]
解决方案是什么?
答案1
小编典典例外是不言自明的
看来您的两个servlet分别是
- 分配Servlet
- SearchConditionServlet
两者都映射到相同的url-pattern AllocationServlet
您需要修复servlet的web.xml或注解(在Servlet3.0的情况下),并确保没有两个servlet映射到相同的url模式。
java.lang.ClassNotFoundException:org.apache.jasper.servlet.JspServlet
如何解决java.lang.ClassNotFoundException:org.apache.jasper.servlet.JspServlet?
我正在尝试通过tomcat在服务器上运行Java应用程序,但我一直收到此错误消息。我尝试将正确的依赖项添加到pom.xml文件中,但似乎无法正常工作。我正在尝试使用heroku部署此应用程序。
这是我pom.xml文件中的依赖项:
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>
,这是完整的错误消息:
WARNING: A context path must either be an empty string or start with a ''/'' and do not end with a ''/''. The path [/] does not meet these criteria and has been changed to []
configuring app with basedir: /Users/nicobeard/Documents/falling-knives-capstone/Backend/./src/main/webapp
Sep 12,2020 3:17:02 PM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["http-nio-8080"]
Sep 12,2020 3:17:02 PM org.apache.tomcat.util.net.NioSelectorPool getSharedSelector
INFO: Using a shared selector for servlet write/read
Sep 12,2020 3:17:02 PM org.apache.catalina.core.StandardService startInternal
INFO: Starting service [Tomcat]
Sep 12,2020 3:17:02 PM org.apache.catalina.core.StandardEngine startInternal
INFO: Starting Servlet Engine: Apache Tomcat/8.5.23
Sep 12,2020 3:17:02 PM org.apache.catalina.startup.ContextConfig getDefaultWebXmlFragment
INFO: No global web.xml found
Sep 12,2020 3:17:02 PM org.apache.catalina.core.ApplicationContext log
INFO: Marking servlet [jsp] as unavailable
Sep 12,2020 3:17:02 PM org.apache.catalina.core.StandardContext loadOnStartup
SEVERE: Servlet [jsp] in web application [] threw load() exception
java.lang.classNotFoundException: org.apache.jasper.servlet.JspServlet
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1291)
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1119)
at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:512)
at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:493)
at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:119)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1050)
at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:989)
at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4931)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5241)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase$startChild.call(ContainerBase.java:1419)
at org.apache.catalina.core.ContainerBase$startChild.call(ContainerBase.java:1409)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Sep 12,2020 3:17:02 PM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-nio-8080"]
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)
关于关于 jsp 的 action 如何调用 servlet 的自定义方法和jsp中调用servlet的问题就给大家分享到这里,感谢你花时间阅读本站内容,更多关于asp.net-mvc-3 – 自定义ActionInvoker与MVC 3中ActionFilter依赖注入的自定义FilterProvider、http-500:Servlet.init() for servlet SpringDispatcherServlet threw exception、IllegalArgumentException:名为[com.staff.servlet.AllocationServlet]和[com.staff.servlet.SearchConditionServlet]的servlet都被映射[重复]、java.lang.ClassNotFoundException:org.apache.jasper.servlet.JspServlet等相关知识的信息别忘了在本站进行查找喔。
本文标签: