用jsp+servlet写一个登陆界面

用jsp+servlet写一个登陆界面

第一步:先写一个jsp

<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
<%
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>
    <form action="/test/LoginServlet">
       username:<input type="text" name="username"><br>
       password:<input type="password" name="password"><br>

       <input type="submit" value="submit">&nbsp;&nbsp;&nbsp;&nbsp;
       <input type="reset" value="reset"> 



    </form>

  </body>
</html>
<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
<%
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>
    <form action="/test/LoginServlet">
       username:<input type="text" name="username"><br>
       password:<input type="password" name="password"><br>

       <input type="submit" value="submit">&nbsp;&nbsp;&nbsp;&nbsp;
       <input type="reset" value="reset"> 
   </form>

  </body>
</html>

再写一个class

package firstservlet;

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 LoginServlet extends HttpServlet {

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp)
            throws ServletException, IOException

    { 
        String username=req.getParameter("username");
        String password=req.getParameter("password");

        resp.setContentType("text/html");

        PrintWriter out=resp.getWriter();
        out.println("<html><head><title>Login result</title></head>");
        out.println("<body>username:"+username+"<br>");
        out.println("password:"+password+"</body></html>");
        out.flush();


    }
}

最后配置web.xml文件

<servlet>
     <servlet-name>LoginServlet</servlet-name>
     <servlet-class>firstservlet.LoginServlet</servlet-class>
  </servlet>
  <servlet-mapping>
     <servlet-name>LoginServlet</servlet-name>
     <url-pattern>/LoginServlet</url-pattern>
  </servlet-mapping>

原理

提交是向服务器端发送所填写的信息,现在使在jsp中填写的数据发送到servlet中。
这里有两个问题,第一个:谁提交的?所以必须要给控件设置name,才能知道是哪一个控件传来的值,所以每一个控件后面都有name属性。第二个:提交给谁?我们假设我们会提交给一个叫LoginServlet来接收。所以我们新建一个类叫LoginServlet,该类继承httpServlet。重写doget方法,HttpServletRequest是一个请求对象。发送请求,请求服务器发送表单等信息。里面的getParameter方法返回一个字符串,后面跟的是控件的名字,就是在form表单当中设置的名字。控件的value就传给了该字符串。(也就是获得username中所填写的内容)

配置完xml文件之后,< form>为表单标签,后面的action为表单提交之后提交给谁!!!表示表单一点提交就会提交给/test/LoginServlet资源,就会给服务器发送这个请求,服务器收请求后就开始在xml文件里面寻找LoginServlet资源,实例化firstservlet.LoginServlet,执行firstservlet.LoginServlet的doget方法,获取用户输入的用户名和密码信息。

  • 7
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
A:jsp servlet实现简易的登陆注册界面大致分为以下几个步骤: 1. 创建login.jsp和register.jsp页面,分别用于用户登陆和注册。 2. 建立User.java实体类,存储用户的基本信息(例如:用户名、密码等)。 3. 创建LoginServlet.java和RegisterServlet.java,用于处理用户登陆和注册请求。 4. 在登陆和注册servlet中,获取用户提交的表单数据并进行验证,比如用户名和密码是否合法。 5. 如果表单数据验证通过,则将用户的信息存储到数据库中,并根据情况跳转到成功页面或者错误页面。 下面是一个简单的示例代码: login.jsp代码: ```html <form action="LoginServlet" method="post"> <label>用户名:</label> <input type="text" name="username"/> <br/><br/> <label>密码:</label> <input type="password" name="password"/> <br/><br/> <input type="submit" value="登陆"/> </form> ``` register.jsp代码: ```html <form action="RegisterServlet" method="post"> <label>用户名:</label> <input type="text" name="username"/> <br/><br/> <label>密码:</label> <input type="password" name="password"/> <br/><br/> <input type="submit" value="注册"/> </form> ``` User.java代码: ```java public class User { private String username; private String password; public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } } ``` LoginServlet.java代码: ```java public class LoginServlet extends HttpServlet { protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // 获取表单提交的用户名和密码 String username = request.getParameter("username"); String password = request.getParameter("password"); // 进行表单验证 boolean isValid = true; // 这里可以根据具体需求进行验证 // 如果验证通过,则返回成功页面,否则返回错误页面 if (isValid) { response.sendRedirect("success.jsp"); } else { response.sendRedirect("error.jsp"); } } } ``` RegisterServlet.java代码: ```java public class RegisterServlet extends HttpServlet { protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // 获取表单提交的用户名和密码 String username = request.getParameter("username"); String password = request.getParameter("password"); // 将用户信息插入到数据库中(这里只是示例代码) User user = new User(); user.setUsername(username); user.setPassword(password); // 返回注册成功页面 response.sendRedirect("registersuccess.jsp"); } } ``` 这是一个简单的登陆注册系统,如果需要更完整的示例可以参考相关的开源项目,比如SSM框架。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值