用以记录以下课程的跟练(P13-P17)
JavaWeb后端 全网最详细的视频教程_哔哩哔哩_bilibili
1.打开IDEA,File->New->Project,创建新项目
2.写代码运行
Ctrl+O选service(rep:Http...
弹出Tomcat页面$END$,网址后写上ser01回车,出现hello servlet
3.编辑Tomcat
1.Application context把原先的/servlet01_war_exploded改成/s01
2.After launch去选
这时需要手动登录localhost:8080/s01/ser01
3.WebServlet注解一览
4.另两种方逝(还是第一种最好)
5.Get和Post与service一样效果。service底层会根据请求方式对应地调用Get和Post,更为常用(了解)。
6.Servlet实现方式
7.Servlet生命周期
8.HttpServletRequest对象:用来接收客户端发送过来的请求信息
/*常用方法*/
//获取请求时的完整路径 (从http开始,到?前面结束)
String url= req.getRequestURL()+"";
System.out.println("获取请求时的完整路径:"+url);
//获取请求时的完整路径(从项目的站点名开始,到”?”前面结束)
String uri=req.getRequestURI();
System.out.println("获取请求时的部分路径:"+uri);
//获取请求时的参数字符串 (从”?”后面开始,到最后的字符串)
String queryString=req.getQueryString();
System.out.println("获取请求时的参数字符串:"+queryString);
//获取请求方式(GET和POST)
String method=req.getMethod();
System.out.println("获取请求方式:"+method);
//获取当前协议版本 (HTTP/1.1)
String prototol=req.getProtocol();
System.out.println("获取当前协议版本:"+prototol);
//获取项目的站点名 (项目对外访问路径)
String webapp=req.getContextPath();
System.out.println("获取项目的站点名:"+webapp);
//获取请求的参数
//获取指定名称的参数值,返回字符串(!!!)
String uname=req.getParameter("uname");
String upwd=req.getParameter("upwd");
System.out.println("uname:"+uname+",upwd:"+upwd);
//获取指定名称的参数的所有参数值,返回字符串数组(用于复选框传值)
String[] hobbys=req.getParameterValues("hobby");
//判断数组是否为空
if (hobbys!=null && hobbys.length>0){
for (String hobby:hobbys){
System.out.println("爱好:"+hobby);
}
9.请求乱码问题略(P20)
10.请求转发
请求转发,是一种服务器的行为,当客户端请求到达后,服务器进行转发,此时会将请求对象进行保存,地址栏中的 URL 地址不会改变,得到响应后,服务器端再将响应发送给客户端,从始至终只有一个请求发出。实现方式如下,达到多个资源协同响应的效果。
request.getRequestDispatcher (ur1).forward(request, response);