要对Serevlet进行配置,使其支持异步才可以哦,可以百度找一下配置方法
<dispatchar></dispatchar>在这里设置转发模型,FORWARD,INCLUDE等
你吧映射地址改成了/AsynServlet,那么你其他要用到的地方也要改
servlet是在3.0之后才支持异步处理的,之前版本是不支持异步处理的,也就是说servlet的优势并不在异步处理方面,或者说servlet对异步支持的并不怎么好,不然、也不会到3.0才支持;这里你可以这样理解servlet异步为什么不是默认的,也有可能是因为兼容之前的版本的设计。如果你有不同的想法,不妨@我。
因为访问index.jsp会立即跳至/servlet/AsynServlet路径,执行AsynFilter
index.jsp前面加个/
res.sendRedirect(req.getContextPath()+"/servlet/AnsycServlet"");重定向的路径写错了吧,要加项目跟路径
<servlet>
<servlet-name>LoginServlet</servlet-name>
<servlet-class>com.imooc.serlvet.LoginServlet</servlet-class>
<async-supported>true</async-supported>
</servlet>
//servlet标签有个属性,叫做async-supported,把把它设置为true就行,示例如上
<servlet-mapping>
<servlet-name>LoginServlet</servlet-name>
<url-pattern>/servlet/LoginServlet</url-pattern>
</servlet-mapping>
supportAnsy = true
在注解里有配置页面的,老师讲到过了
开启myeclipse会打开一个网站,你把网站关就不会报这个了。安全证书你可以去下载,也可以在Internet选项进行设置,忽略掉。
亲,Servlet.service() for servlet [AsynServlet] in context with path [/Filter] threw exception可能你的Servlet路径是有问题的,你可以检查一下路径问题。
首先调用方法是由客户端提交数据时method所决定的,过滤器类只是一个过滤操作,线程执行时候如果filter没有指定是否支持异步模式,则线程不会执行休眠之后的操作,而指定异步模式之后线程会继续执行,过滤操作由后台执行。
可以看下一页,有解决方法,就是还要添加DispatcherType.request
过滤器,因为是在过滤方法里面的
在你要启动的那个项目上右键部署,不要直接点IDE上的按钮
使拦截器的使用原则:处理所有请求的共同问题,因此像乱码 权限等公性问题用拦截器
这个其实与内部类没有关系的...产生错误的原因是这个内部类实现了线程Runnable类...但是还没有实现Runnable类的run函数..因此就会报错.....与改名称没有关系....只要实现必要的函数..错误提示就会消失的....
会不会是<param-value>index;fail;/servlet/login</param-value>中的/servlet/login写错了?应给是个页面而不是路径吧
老师的也报错500了,
谢了,幡然醒悟
其实注解就相当于配置,如果是初学,建议还是用配置。@WebFilter报错要看你的web.xml的版本来的。
我也是补过我向里面添加了DispatcherType.request就好了,光有ASYNC不行,还有要将上一个ImoocFilter的服务器移除,添加当前的服务器,不溢出也可用但不会显示Strat。。。。。。和end.........,,因为这是上一个的服务器(imoocfilter的)
那你就安装myecplice10吧
servlet jsp 然后 JDBC 过滤器 监听器
是有问题,开启线程本来就异步了。
配置web.xml就可以的,如下:
<?xml version="1.0" encoding="UTF-8"?><web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> <error-page> <error-code>404</error-code> <location>/building.jsp</location></error-page> <error-page> <error-code>500</error-code> <location>/error.jsp</location></error-page> </web-app>
您好,在Servlet3.0当中关于@WebFilter并没有提供顺序的参数。
详细的关于Servlet3.0的地址:http://www.ibm.com/developerworks/cn/java/j-lo-servlet30/#major3