(很久很久以前的东西,现在没事干又放出来)环境:jdk1.8,apache-tomcat-8 这个图标的创建web, ,注意将tomcat和eclipse或者idea整合,不然很麻烦的,你启动总是要手动在服务那里点击。
整合好后就有这个了,至于怎么整合,自己百度一下,当然记得部署,我这个憨批老忘这个,经常导致回头再多按几下。
在eclipse java EE里面创建出一个web文件夹先, 空白区新建文件,选择other
然后就有这个,选择红框的。
名字自己喜欢就好。
随便一个得到下面的。
然后开始尝试第一个servlet的创建,创建class,名字为FirstServlert。
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class FirstServlert extends HttpServlet{
@Override
protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String name = request.getParameter("name");
String html = "<h1 style='color:red'>hi,"+name+"!</h1><hr/>";
System.out.println("返回给浏览器的响应数据为:"+html);
PrintWriter out = response.getWriter();
out.println(html);
}
}
创建好后就开始在web.xml配置
配置如下:
<!--声明servlet -->
<servlet>
<!-- servlet的别名-->
<servlet-name>first</servlet-name>
<servlet-class>FirstServlert</servlet-class>
</servlet>
<!-- 将servlet与URL绑定 -->
<servlet-mapping>
<servlet-name>first</servlet-name>
<url-pattern>/hi</url-pattern>
</servlet-mapping>
然后就在浏览器上尝试吧。
输入:http://localhost:8080/FirstSever/hi?name=dalaozaici
注意我们在java中已经写了要读取你写入的东西所以?name=dalaozaici是要加的,不然给的就是问号。
当然开始的时候是一直在xml配置,不过很麻烦的,所以也需要注解版本。
@WebServlet("/anno")//这里的效果等同在web.xml上进行配置说明。
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet("/anno")//这里的效果等同在web.xml上进行配置说明。
public class AnnotationServlet extends HttpServlet {
@Override
protected void service(HttpServletRequest reques, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
String html = "<h1 style='color:red'>I'm annotation servlet</h1><hr/>";
PrintWriter out = response.getWriter();
out.println(html);
}
}
测试一下。