简单的Servlet案例

开发环境

eclipse、tomcat8.5、jdk1.8

功能

1.实现登录界面:用户名,密码,登录按钮

2.使用servlet获取登录界面的属性值判断是否正确

3.实现登录成功界面:实现回到登录界面的功能

项目结构

login.jsp(登录界面)

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<title>登录界面</title>
</head>
<body>
	<div><%--post方式提交数据到servlet --%>
		<form action="<%=request.getContextPath()%>/LoginServlet" method="post">
			<label>用户名:</label>
				<input type="text" name="userName" value="${param.userName}"/><br><br>
			<label>密码:</label>
				<input type="password" name="password"/><br>	
			<font color="red">
			<%--判断message属性是否为null --%>
				<%
					if(request.getAttribute("message")!= null){
						out.print(request.getAttribute("message"));
					}
				%>
			</font>
			<div id="submit">
				<input type="submit" value="登录"/>
			</div>
		</form>
	</div>
</body>

Hello.jsp(成功登录界面)

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<title>你好界面</title>
</head>
<body>
	<font color="blue" size="22">
		<%
			out.print(request.getParameter("userName")+"你好,欢迎来到我的世界!<br>");
		%>
	</font>
	<%--重定向回到登录界面--%>
	<a href="<%=request.getContextPath()%>/login.jsp">重新登录</a>
</body>

Servlet界面

package 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 LoginServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;
       
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{
		this.doPost(request, response);
	}
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		String userName = request.getParameter("userName");
		String password = request.getParameter("password");
		System.err.println(userName+";"+password);
		//设置用户名和密码
		String myUser = "zhangsan";
		String myPwd = "123";
		//判断用户名和密码是否正确
		if(myUser.equals(userName)) {
			if(myPwd.equals(password)){
				//重定向
				response.sendRedirect(request.getContextPath()+"/hello.jsp?userName="+userName);
				System.err.println("登录成功");
			}else {
				request.setAttribute("message", "密码错误,请重新登录<br>");
				//转发
				request.getRequestDispatcher("/login.jsp").forward(request, response);
				System.err.println("登录失败");
			}
		}else {
			request.setAttribute("message", "用户名错误,请重新登录<br>");
			request.getRequestDispatcher("/login.jsp").forward(request, response);
			System.err.println("登录失败");
		}	
	}
}

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" id="WebApp_ID" version="3.1">
  <display-name>Welcome</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>
<servlet>
      <servlet-name>LoginServlet</servlet-name>
      <servlet-class>servlet.LoginServlet</servlet-class>
</servlet>
<servlet-mapping>
      <servlet-name>LoginServlet</servlet-name>
      <url-pattern>/LoginServlet</url-pattern>
</servlet-mapping>
</web-app>

效果图展示

登录界面

判断账号密码效果图

成功登录界面

点击重新登录后,它就会重定向于login界面

总结

在做这个项目期间还发现了转发与重定向的问题,还有web.xml的配置问题,希望下次能够做出更好的代码


  • 3
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值