欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

JavaWeb同步学习笔记之十、JavaWeb_ServletResponse

程序员文章站 2022-05-08 13:17:01
...

ServletResponse

ServletResponse:封装了响应信息,如果想给用户数目响应,具体可以使用该接口的方法实现

常用的方法

  1. getWriter() : 返回 PrintWriter 对象。调用该对象的 print() 方法,将把 print() 中的参数直接打印到客户的浏览器上。
PrintWriter out = resonse.getWriter();
out.println("helloworld...");
  1. setContentType(java.lang.String type) : 设置响应的内容类型
/*
	其中,参数值可以参照Tomcat相关路径下的web.xml文件。
	具体路径为:根目录\conf\web.xml
	例如:
	D:\Eclipse\Eclipse_Plugins\Tomcat\apache-tomcat-9.0.2\confweb.xml
	建议在浏览器中运行,当执行代码时,会自动下载一个word文档,在Eclipse中不行。
*/
response.setContentType("application/msword");
PrintWriter out = resonse.getWriter();
out.println("helloworld...");

HttpServletResponse

HttpServletResponse 是 ServletResponse的子接口,它的作用和 HttpServletRequest 相对应的,针对于 HTTP 请求增加了 HTTP 请求的方法。其中,void sendRedirect(String location) : 请求的重定向。此方法非常重要,后续的内容会具体了解,此方法为 HttpServletResponse 中定义。

练习

在 web.xml 文件中设置两个 WEB 应用的初始化参数,user,password。定义一个 login.html,里边定义两个请求字段: user,password. 发送请求到 loginServlet在创建一个 LoginServlet3,在其中获取请求的 user, password。比对其和 web.xml 文件中定义的请求参数是否一致。若一致,响应 Hello:xxx,若不一致,响应 Sorry: xxx xxx 为 user。
第一步:配置当前 WEB 应用的初始化参数

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
	id="WebApp_ID" version="2.5">
	
	<!-- 配置当前 WEB 应用的初始化参数 -->	
	<context-param>
	    <param-name>user</param-name>
	    <param-value>atguigu</param-value>
	</context-param>
	<context-param>
	    <param-name>password</param-name>
	    <param-value>123567</param-value>
	</context-param>
	
</web-app>

第二步:创建 HTML :login.html

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
	<form action="loginServlet" method="post">
		user: <input type="text" name="username"/>
		password: <input type="password" name="password"/>
		<input type="submit" value="Submit"/>
	</form>
</body>
</html>

第三步:创建并配置 Servlet

private ServletConfig servletConfig;
@Override
public void init(ServletConfig servletConfig) throws ServletException {
		this.servletConfig = servletConfig;
	}
@Override
//重写 service 方法
public void service(ServletRequest request, ServletResponse response)
			throws ServletException, IOException {
	//1. 获取请求参数:username,password
	String username = request.getParameter("username");
	String password = request.getParameter("password");
	//2.获取当前 WEB 应用的初始化参数:user,password
	ServletContext servletContext = servletConfig.getServletContext();
	String initUser = servletContext.getInitParameter("user");
	String initPassword = servletContext.getInitParameter("password");
	PrintWriter out = response.getWriter();
	//3. 比对
	//4. 打印响应字符串
	if(initUser.equals(username) && initPassword.equals(password)){
			out.print("Hello: " + username);
	}else{
		out.print("Sorry: " + username);
	}
}

	<!-- 配置Servlet -->
	<servlet>
    	<servlet-name>loginServlet</servlet-name>
    	<servlet-class>com.xs.javaweb.LoginServlet3</servlet-class>
  	</servlet>
 	<servlet-mapping>
    	<servlet-name>loginServlet</servlet-name>
    	<url-pattern>/loginServlet</url-pattern>
  	</servlet-mapping>
相关标签: 笔记 JavaWeb