JavaWeb练习2--servlet

一、 输出打印HelloWorld

  1. 编写servlet–Hello
    对象:响应 response
    在这里插入图片描述
  2. 运行:run as
  3. 访问:
    在这里插入图片描述

二、Dynamic web project 版本2、3的比较

在这里插入图片描述

三、 客户端请求方式(get、post)练习

1. get(doget方法中将输入的println,url处会显示请求数据)

  1. 编写Servlet–InputServlet
    对象:请求 request
    在这里插入图片描述
  2. 重启tomcat
  3. 测试
    在这里插入图片描述
    在这里插入图片描述
    注意:不能加 ” “
    在这里插入图片描述

2.post(html中指定servlet处理(页面会跳转,url没有请求数据),dopost调用doget,doget输出)

  1. 编写input.html
    在这里插入图片描述
  2. 修改servlet–InputServlet
    在这里插入图片描述
  3. 重启tomcat
  4. 测试
    在这里插入图片描述
    点击“提交”:
    在这里插入图片描述

3. 将html文件交给文件夹管理

  1. input.html处做的修改
    在这里插入图片描述
  2. 重启tomcat
  3. 测试 进入html文件夹下的input.html
    在这里插入图片描述
    在这里插入图片描述

四、servlet生命周期验证

1.验证

  1. 编写servlet–LifeCycle
    在这里插入图片描述
  2. 启动Tomcat
  3. 访问页面
    在这里插入图片描述
  4. 刷新页面
    在这里插入图片描述
  5. 关闭Tomcat
    在这里插入图片描述

2. service()

重写service方法:
在这里插入图片描述
启动tomcat
测试:
将不调用doget和dopost方法
在这里插入图片描述

3. init() 设置初始化在tomcat启动时调用

dynamic 版本3.0 中在 @WebServlet注解配置Servlet,逗号分隔:
在这里插入图片描述
启动tomcat
测试:
在启动时完成初始化。
在这里插入图片描述
访问页面:
在这里插入图片描述
关闭Tomcat服务:
在这里插入图片描述

五、乱码解决

1. 服务器返回页面中文乱码问题

在这里插入图片描述
在这里插入图片描述
修改:
在这里插入图片描述
在这里插入图片描述

2. post乱码

在这里插入图片描述
在这里插入图片描述
启动tomcat。
访问:
在这里插入图片描述
在这里插入图片描述
修改:
在这里插入图片描述
重启tomcat。
测试:
在这里插入图片描述
在这里插入图片描述

3. get乱码(没有出错)

get方式获得参数:
在这里插入图片描述
在这里插入图片描述
重启tomcat,访问:
在这里插入图片描述
在这里插入图片描述

六、实战–用户登录验证(post+乱码处理)

  1. login.html
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "https://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
   <link href="bootstrap/css/bootstrap.min.css" rel="stylesheet">
   <link href="css/signin.css" rel="stylesheet">
   <script src="jquery/jquery-1.9.1.min.js"></script>
   <script src="bootstrap/js/bootstrap.min.js"></script>
<title>登录</title>
</head>
<body>
    <div class="container">
      <form class="form-signin" action="LoginServlet" method="post">
        <h2 class="form-signin-heading">请登录</h2>
        <label for="inputUsername" class="sr-only">用户名</label>
        <input type="text" id="username" name="username" class="form-control" placeholder="用户名" required autofocus>
        <label for="inputPassword" class="sr-only">密码</label>
        <input type="password" id="passwd" name="password" class="form-control" placeholder="密码" required>
        <div class="checkbox">
          <label>
            <input type="checkbox" value="remember-me"> Remember me
          </label>
        </div>
        <button class="btn btn-lg btn-primary btn-block" type="submit">登录</button>
      </form>
    </div> <!-- /container -->
  </body>
</html>
  1. servlet
    在这里插入图片描述
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

@WebServlet("/LoginServlet")
public class LoginServlet extends HttpServlet {
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		response.setContentType("text/html;charset=UTF-8");
		request.setCharacterEncoding("UTF-8");
		
		String username = request.getParameter("username");
		String password = request.getParameter("password");
		
		if(username.equals("张") && password.equals("123") ) {
			response.getWriter().write("欢迎 "+username);
		}else {
			response.getWriter().write("用户名或密码错误 ");
		}
	}
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		doGet(request, response);
	}
}
  1. 测试:
    在这里插入图片描述
    在这里插入图片描述

作业:

1. 用户注册功能(post方法)

2. 编写一个servlet程序实现显示服务器当前日期时间

3. Servlet获取客户端表单数据,实现两个数字的相除运算


版权声明:本文为liao_shui原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。