前言:简单的理解servlet就是动态的web开发技术,本质就就是运行在服务器端的一个java小程序,处理业务逻辑,生成动态web内容。
------开发步骤-------
1.编写一个类:a.继承HttpServlet、b.重写doGet或者doPost方法
2.编写配置文件(web-inf/web.xml):a.注册servlet、b.绑定路径
3.访问:http://主机:端口号/项目名/路径
-----接受参数----
1.格式:key=value
2.Sting value=request.getParameter("key")
3.例如: http://localhost/day09/hello?username=tom,request.getParameter("username")就可以获取tom值
------回写内容-------
1.response:response.getWriter().print("success");
2.处理响应数据中文乱码:resp.setContentType("text/html;charset=utf-8");
-------第一个demo------
1.HelloServlet.java:
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class HelloServlet extends HttpServlet{
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
System.out.println("请求已收到............");
}
}
2.编写配置文件:
添加:
<servlet>
<servlet-name>HelloServlet</servlet-name>
<servlet-class>com.fly.a_hello.HelloServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>HelloServlet</servlet-name>
<url-pattern>/hello</url-pattern>
</servlet-mapping>
3.添加项目启动tomcat运行:
4.运行结果截图:(注意:由于只是打印了一句输出语句,所以浏览器上什么也没显示)
--------第二个Demo--------
1.RequestServlet.java:
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class RequestServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
// 接受参数
String username = req.getParameter("username");
String password = req.getParameter("password");
// 往浏览器回写数据
// resp.getWriter().print("data:"+value);
resp.setContentType("text/html;charset=utf-8");
resp.getWriter().print("数据:" + username + password);
System.out.println(username + password);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
// 接受参数
String username = req.getParameter("username");
String password = req.getParameter("password");
// 往浏览器回写数据
// resp.getWriter().print("data:"+value);
resp.setContentType("text/html;charset=utf-8");
resp.getWriter().print("数据:" + username + password);
System.out.println(username + password);
}
}
2.配置文件:
<servlet>
<servlet-name>RequestServlet</servlet-name>
<servlet-class>com.fly.b_request.RequestServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>RequestServlet</servlet-name>
<url-pattern>/request</url-pattern>
</servlet-mapping>
3.网页代码(路径:WebContent->index.html中的body添加一个简单的表格):
<form action="http://localhost:8080/Day09/request" method="post">
<input type="text" id="username" placeholder="请输入用户名" name="username"> <br>
<input type="password" id="inputPassword3" placeholder="请输入密码" name="password"> <br>
<input type="submit" width="100" value="登录" name="submit"> <br>
</form>
4.打开浏览器:
5.运行截图:
--------完----------