IDEA的Servlet创建 &tomcat63342的问题
今天下午创建了一个简单的Servlet用于接受客户端表单数据的抓取,但是一开始始终抓不到Servlet,Servlet的路径配置也有问题。
后来看了一下Servlet3.1的特性,才了解不用去web.xml中配置了,以前:`
<servlet>
<servlet-name>HelloWorld</servlet-name>
<servlet-class>HelloWorld</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>HelloWorld</servlet-name>
<url-pattern>/servlet/HelloWorld</url-pattern>
</servlet-mapping>`
现在直接在创建的servlet.java文件中开头写:
@WebServlet(name = "Servlet1",urlPatterns = {"/weiwei"})
是不是很方便,一句话的事。
我写的html:
<!DOCTYPE html>
<html>
<head>
<title>TODO supply a title</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>
<body>
<form name="form1" action="/weiwei" method="POST">
1<input type="text" name="id" value="123" size="10" /><br>
2<input type="text" name="name" value="weiwei" size="10"/><br>
<input type="submit" value="提交" name="bt1" />
</form>
</body>
</html>
点击提交会传到weiwei的servlet1,然后显示id和name:
package packsvt;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
/**
* Created by Administrator on 2017/3/1 0001.
*/
@WebServlet(name = "Servlet1",urlPatterns = {"/weiwei"})
public class Servlet1 extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");
out.println("<HTML>");
out.println(" <HEAD><TITLE>A Servlet</TITLE></HEAD>");
out.println(" <BODY>");
Integer id=Integer.parseInt(request.getParameter("id"));
String name=request.getParameter("name");
out.println(id+"<br>");
out.println(name);
out.println(" </BODY>");
out.println("</HTML>");
out.flush();
out.close();
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
}
}
下午还遇到一个问题,我的tomcat端口明明是8888,总是会出现localhost:63342,最后发现html或者jsp部署在了web项目下,而没有部署在web项目的web目录下。应该是这样:
还有发现在修改servlet路径配置后必须重新启动tomcat,不然光在浏览器中刷新是没用的,他还会是原来的路径名字,这点和NetBeans不一样。
关于创建javaweb项目教程网上有很多,可以自行百度。