//创建一个servlet需要在web.xml中配置如下内容
<servlet>
<servlet-name>myFirstServlet</servlet-name>
<servlet-class>Test.myServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>myFirstServlet</servlet-name>
<url-pattern>/aaa</url-pattern>
</servlet-mapping>
//我们只使用一行代码完成servlet的配置
@WebServlet(name = "myFirstServlet",urlPatterns = {"/aaaa"})
public class myServlet extends HttpServlet {
@Override
public void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
RequestDispatcher rd = req.getRequestDispatcher("/default.jsp");
rd.forward(req,resp);
}
}
public class MyServlet extends HttpServlet {
@Override
public void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException{
RequestDispatcher rd = req.getRequestDispatcher("/default.jsp");
rd.forward(req,resp);
}
}
<?xml version="1.0" encoding="UTF-8"?>
<web-fragment
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="3.0"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-fragment_3_0.xsd"
metadata-complete="false">
<servlet>
<servlet-name>myServlet</servlet-name>
<servlet-class>Test.MyServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>myServlet</servlet-name>
<url-pattern>/index</url-pattern>
</servlet-mapping>
</web-fragment>
AsyncContext getAsyncContext();
<async-supported>true</async-supported>
@WebServlet(name = "myservlet",urlPatterns = "/index",asyncSupported = true)
public class MyServlet extends HttpServlet {
@Override
public void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException{
resp.setContentType("text/html;charset=UTF-8");
PrintWriter writer = resp.getWriter();
writer.println("servlet 开始:"+new Date()+"<br />");
writer.flush();
AsyncContext asy = req.startAsync();
asy.setTimeout(4000);
asy.start(new MyInfo(asy));
writer.println("servlet 结束:"+new Date()+"<br />");
writer.flush();
}
}
public class MyInfo extends Thread {
private AsyncContext asyncContext;
public MyInfo(AsyncContext as){
this.asyncContext = as;
}
@Override
public void run(){
try {
Thread.sleep(3000);
PrintWriter pw = asyncContext.getResponse().getWriter();
pw.println("hello walker:"+new Date()+"<br />");
asyncContext.complete();
} catch (InterruptedException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
public class MyAsyncListener implements AsyncListener {
public void onComplete(AsyncEvent var1) throws IOException{
System.out.println("异步调用结束了。。。");
}
public void onTimeout(AsyncEvent var1) throws IOException{
System.out.println("异步调用超时了。。。");
}
public void onError(AsyncEvent var1) throws IOException{
System.out.println("异步调用出错了。。。");
}
public void onStartAsync(AsyncEvent var1) throws IOException{
System.out.println("异步调用开始了。。。");
}
}
asy.addListener(new MyAsyncListener());
<body>
<h1>这是index页面</h1>
<form method="post" action="/submit" enctype="multipart/form-data">
姓名:<input type="text" name="name" /><br /><br />
头像:<input type="file" name="mFile" /><br /><br />
<input type="submit" value="提交" />
</form>
</body>
@WebServlet(name = "myServlet",urlPatterns = {"/submit"})
@MultipartConfig //处理文件上传的servlet需要配置此注解
public class FileUpload extends HttpServlet {
public void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException{
resp.setContentType("text/html;charset=UTF-8");
PrintWriter writer = resp.getWriter();
Part part = req.getPart("mFile");
writer.println("文件类型:"+part.getContentType()+"<br />");
writer.println("文件名:"+part.getName()+"<br />");
part.write("C:\\Users\\Administrator\\Desktop\\photo.jpg");
}
}
Part getPart(String name); Collection<Part> getParts();
String getContentType(); //返回文件类型,如image/png String getName(); //返回文件名 String getSubmittedFileName(); long getSize(); //返回文件的大小 void write(String var1) throws IOException; //将文件写入到服务器磁盘 void delete() throws IOException; //删除此文件 String getHeader(String var1); //获取指定文件名的值 Collection<String> getHeaders(String var1); //获取指定文件名的所有的值 Collection<String> getHeaderNames(); //获取所有Header 的name集合
机械节能产品生产企业官网模板...
大气智能家居家具装修装饰类企业通用网站模板...
礼品公司网站模板
宽屏简约大气婚纱摄影影楼模板...
蓝白WAP手机综合医院类整站源码(独立后台)...苏ICP备2024110244号-2 苏公网安备32050702011978号 增值电信业务经营许可证编号:苏B2-20251499 | Copyright 2018 - 2025 源码网商城 (www.ymwmall.com) 版权所有