- 定义Servlet的方法:继承 HttpServlet
- service的作用:
- 根据获取用户请求的方法不同,执行不同的方法
- 浏览器使用get请求方法访问就执行doGet方法,使用post请求方式就执行dopos方法;
- request是请求对象,记录了客户请求的所有数据
- 接收参数request.getParameter()
String params_username=request.getParameter("username"); //html的name值 String params_password=request.getParameter("password"); String params_province=request.getParameter( "province");
- 接收参数request.getParameter()
- response是响应对象,将服务器中的数据回应给客户的对象
-
写回响应内容;
response.getWriter().write(response_text);
-
- Java是面向对象的,所有的事务都是对象
- Servlet只有1个实例对象;
- Servlet是线程不安全的;
- 请求转发
- 浏览器发送了一次请求;
- easyE和easyF的request是一个对象;
@WebServlet("/easye") public class EasyEServlet extends HttpServlet { @Override protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { req.getRequestDispatcher("easyf").forward(req, resp);
} - 请求转发可以访问项目中受保护的资源WEB-INF文件夹下的文件;
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { req.getRequestDispatcher("WEB-INF/form.html").forward(req, resp); }
- 重定向
- 浏览器发送了两次请求;
- 不能访问项目中受保护的资源,要访问本项目内容要写全路径;
- 重定向可以访问到项目外的地址;
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { resp.sendRedirect("https://www.baidu.com"); }
- Servlet生命周期
- 默认在首次被访问时实例化对象,立即执行init方法;
- 可以使用loadOnStartup设置实例化对象顺序;
- loadOnStartup是负数(默认),就在第一次访问时实例化对象;
- loadOnStartup是正数,就在服务器启动时实例化对象,值越小越优先启动;
- 每次执行会执行service方法,然后根据请求方式分别执行doget和dopost方法;
- 服务正常结束会执行destory方法,被动的调用,作用是关闭Servlet对象中的资源;
- ajax
- ajax异步的Javascript和xml 在页面不刷新的时候发送请求;
$('[name="username"]').blur(function(){ //获取该输入框中的内容 var text=$(this).val(); //将改内容发送到服务器 $.ajax({ url:"easyname",//地址 data:{username:text},//传递给服务器的参数 //处理服务器回应的结果 success:function(result){ if(result==0){ alert("用户名可以使用") }else{ alert("用户名被占用") } },//成功访问到服务器,后要执行的代码 error:function(){ alert("服务器开小差了") }//请求失败 404找不到 500服务器报错 503不允许,权限不够 });
- 在java文件获取用户提交的参数;
String param_name=req.getParameter("username"); if("zhangsan".equals(param_name)) { resp.getWriter().write("1"); }else { resp.getWriter().write("0"); }
- jsp (基于java的服务端技术)
- <%@ %>:定义页面依赖属性,比如指定页面编码方式、引入其他文件等。
- <!-- -->:HTML注释;
- <%-- --%>:JSP的注释;
- <% %>:java代码脚本,局部变量声明;
- //:在java代码中的注释;
- <%! %>:类中声明脚本,只能声明,不能调用;
标签:web,请求,对象,resp,req,request,服务器 From: https://www.cnblogs.com/wxy01/p/17833087.html