用Servlet写登录案例
1.创建动态web工程,在该项目中新建servlet相关包
2.新建servlet,重写service方法,编写代码
3.在web.xml中进行配置
配置如下:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" version="3.1">
<display-name>Servlet_Login</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
<!-- ServletLoginPage -->
<servlet>
<servlet-name>ServletLoginPage</servlet-name>
<servlet-class>com.cmp.userlogin.servlet.ServletLoginPage</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>ServletLoginPage</servlet-name>
<url-pattern>/loginPage</url-pattern>
</servlet-mapping>
<!-- ServletLogin -->
<servlet>
<servlet-name>ServletLogin</servlet-name>
<servlet-class>com.cmp.userlogin.servlet.ServletLogin</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>ServletLogin</servlet-name>
<url-pattern>/login</url-pattern>
</servlet-mapping>
</web-app>
Servlet登录页面(ServletLoginPage.java):
package com.cmp.userlogin.servlet;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class ServletLoginPage extends HttpServlet {
@Override
protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
//设置响应头(防止中文乱码问题)
response.setContentType("text/html;charset=utf-8");
//输出
PrintWriter out = response.getWriter();
out.print("<!DOCTYPE html>");
out.print("<html lang=\"en\">");
out.print("<head>");
out.print("<meta charset=\"UTF-8\" />");
out.print("<title>登录</title>");
out.print("</head>");
out.print("<body>");
//此处post提交可以隐藏地址栏的参数(账号与密码)
out.print("<form action=\"login\" method=\"post\" accept-charset=\"utf-8\">");
out.print("账号:<input type=\"text\" name=\"username\"><br><br>");
out.print("密码:<input type=\"password\" name=\"password\"><br><br>");
out.print("<input type=\"submit\" value=\"登录\">");
out.print("</form>");
out.print("</body>");
out.print("</html>");
}
}
Servlet登录(ServletLogin.java)
package com.cmp.userlogin.servlet;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class ServletLogin extends HttpServlet {
@Override
protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
//设置响应头(防止中文乱码问题)
response.setContentType("text/html;charset=utf-8");
//获取提交的参数(账号与密码)
String username = request.getParameter("username");
String password = request.getParameter("password");
//判断登录成功或失败
//指定账号为"admin",密码为"123456"
if(username.equals("admin")){
//账户名正确
if(password.equals("123456")){
//密码正确
response.getWriter().print("恭喜【"+username+"】登录成功!");
}else {
response.getWriter().print("密码输入有误!");
}
}else {
response.getWriter().print("账号输入有误!");
}
}
}
|