IDEA创建servlet,篇末有找不到servlet报404的原因
弄了好几天,终于知道哪里错了,满满的经验啊
本篇总结:90%的内容为正确创建servlet的步骤
末尾的10%为解决因找不到编写的servlet文件在Tomcat网页上报404的原因
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>$Title$</title>
</head>
<body>
<font size="5"/>
<form action="/Demo" method="post">
输入英文句子:<br>
<textarea name='english' rows="5" cols="30"></textarea><br>
<input type="submit" value="提交">
</form>
</body>
</html>
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
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;
@WebServlet(name = "Demo")
public class Demo extends HttpServlet {
@Override
public void init (ServletConfig config) throws ServletException {
super.init(config);
}
@Override
public void service (ServletRequest req, ServletResponse res) throws ServletException, IOException {
req.setCharacterEncoding("utf-8");
res.setContentType("text/html; charset=utf-8");
PrintWriter out = res.getWriter();
out.println("<html><body bgcolor=yellow>");
String str = req.getParameter("english");
if (str == null || str.length() == 0){
return;
}
String [] word = str.split("[^a-zA-Z]+");
int n = 0;
try{
for(int i = 0; i < word.length; i++) {
if (word[i].length() >= 1){
n++;
out.print("<br>" + word[i]);
}
}
}catch (NumberFormatException e){
out.print(" " + e);
}
out.print("<h2>句子中单词数目为:" + n);
out.print("</body></html>");
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
}
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//设置网页响应类型
response.setContentType("text/html");
//实现具体操作
PrintWriter out = response.getWriter();
out.println("This is a new servlet page");
}
}
配置Tomcat
注意:
在web.xml中的 和 ce.jsp中的
要保持一致,否则会找不到servlet文件,(这个问题困扰了我好几天!此处省略一万亿句脏话。。。。。。)