servlet 简单登录
1、先创建web project,项目名为RegisterSystem,
2、在WebRoot 目录下创建login.jsp文件:
- <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
- <%
- String path = request.getContextPath();
- String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
- %>
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
- <html>
- <head>
- <base href="<%=basePath%>">
- <title>My JSP 'login.jsp' starting page</title>
- <meta http-equiv="pragma" content="no-cache">
- <meta http-equiv="cache-control" content="no-cache">
- <meta http-equiv="expires" content="0">
- <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
- <meta http-equiv="description" content="This is my page">
- <!--
- <link rel="stylesheet" type="text/css" href="styles.css">
- -->
- </head>
- <body>
- This is my JSP page. <br>
- <form action="login">
- username:<input type="text" name="username"><br>
- password:<input type="password" name="pwd"><br>
- <input type="submit">
- </form>
- </body>
- </html>
3、在scr目录下的com.ht.servlet编写AccountBean.Java文件,代码如下:
package com.ht.servlet;
public class AccountBean {
private String username;
private String password;
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
}
4、在scr目录下的com.ht.servlet编写servlet类CheckAccount.java文件,代码如下:
package com.ht.servlet;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
public class CheckAccount extends HttpServlet {
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
doGet(req,resp);
}
@Override
public void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
HttpSession session = req.getSession();
AccountBean account = new AccountBean();
String username = req.getParameter("username");
String pwd = req.getParameter("pwd");
account.setPassword(pwd);
account.setUsername(username);
if((username != null)&&(username.trim().equals("jsp"))) {
if((pwd != null)&&(pwd.trim().equals("1"))) {
System.out.println("success");
session.setAttribute("account", account);
String login_suc = "success.jsp";
resp.sendRedirect(login_suc);
return;
}
}
String login_fail = "fail.jsp";
resp.sendRedirect(login_fail);
return;
}
}
5、在WebRoot目录下编写success.jsp文件 成功后跳转
- <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
- <%@page import="com.ht.servlet.AccountBean"%>
- <%
- String path = request.getContextPath();
- String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
- %>
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
- <html>
- <head>
- <base href="<%=basePath%>">
- <title>My JSP 'success.jsp' starting page</title>
- <meta http-equiv="pragma" content="no-cache">
- <meta http-equiv="cache-control" content="no-cache">
- <meta http-equiv="expires" content="0">
- <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
- <meta http-equiv="description" content="This is my page">
- <!--
- <link rel="stylesheet" type="text/css" href="styles.css">
- -->
- </head>
- <body>
- <%
- AccountBean account = (AccountBean)session.getAttribute("account");
- %>
- username:<%= account.getUsername()%>
- <br>
- password:<%= account.getPassword() %>
- basePath: <%=basePath%>
- path:<%=path%>
- </body>
- </html>
6、在WebRoot目录下编写fail.jsp文件 失败后跳转
- <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
- <%
- String path = request.getContextPath();
- String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
- %>
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
- <html>
- <head>
- <base href="<%=basePath%>">
- <title>My JSP 'fail.jsp' starting page</title>
- <meta http-equiv="pragma" content="no-cache">
- <meta http-equiv="cache-control" content="no-cache">
- <meta http-equiv="expires" content="0">
- <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
- <meta http-equiv="description" content="This is my page">
- <!--
- <link rel="stylesheet" type="text/css" href="styles.css">
- -->
- </head>
- <body>
- Login Failed! <br>
- basePath: <%=basePath%>
- path:<%=path%>
- </body>
- </html>
7、修改web.xml配置文件
- <?xml version="1.0" encoding="UTF-8"?>
- <web-app version="2.5"
- xmlns="http://java.sun.com/xml/ns/javaee"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
- http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
- <welcome-file-list>
- <welcome-file>login.jsp</welcome-file>
- </welcome-file-list>
- <servlet>
- <description>This is the description of my J2EE component</description>
- <display-name>This is the display name of my J2EE component</display-name>
- <servlet-name>CheckAccount</servlet-name>
- <servlet-class>com.ht.servlet.CheckAccount</servlet-class>
- </servlet>
- <servlet-mapping>
- <servlet-name>CheckAccount</servlet-name>
- <url-pattern>/login</url-pattern>
- </servlet-mapping>
- </web-app>
注意:
.处理中文乱码问题
在Sertlet中加
response.setContentType("text/html;charset=utf-8")
在jsp页面中加
<%@ page language="java" import="java.util.*,java.NET.URLEncoder" pageEncoding="UTF-8"%>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
在servlet中
String username=request.getParameter("username");
username=new String(username.getBytes(“ISO-8859-1”),"UTF-8");