JavaWeb同步学习笔记之十、JavaWeb_ServletResponse

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>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值