zoukankan      html  css  js  c++  java
  • struts实现的简单的登录

    关于struts实现基本的登录步骤:

    1.1导入相关的jar包

    注:将这些包放入WEB-INF的lib包下,然后将包导入项目中

    2.对WEB-INF包下的web.xml进行配置,引入过滤器

     1 <?xml version="1.0" encoding="UTF-8"?>
     2 <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5">
     3   <display-name></display-name>
     4   <filter>
     5     <filter-name>struts2</filter-name>
     6     <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
     7   </filter>
     8   <filter-mapping>
     9     <filter-name>struts2</filter-name>
    10     <url-pattern>/*</url-pattern>
    11   </filter-mapping>
    12   <welcome-file-list>
    13     <welcome-file>index.jsp</welcome-file>
    14   </welcome-file-list>
    15 </web-app>

    3.配置好web.xml之后,在src目录下创建struts.xml文件

    4.接下来就是配置struts.xml文件

     1 <?xml version="1.0" encoding="UTF-8" ?>
     2 <!DOCTYPE struts PUBLIC
     3     "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
     4     "http://struts.apache.org/dtds/struts-2.3.dtd">
     5     
     6 <struts>
     7      <!-- extends必须写,直接或者间接继承struts-default  namespace从逻辑
     8      上实现了action的模块化管理-->
     9      <package name="login" extends="struts-default" namespace="/">
    10           <!-- name是请求名称;class对应action的路径名称完全限定名=包名+类名 -->
    11           <action name="login" class="com.sxt.action.Login">
    12                  <!-- result是结果集  name和对应action中的返回值匹配  默认是success -->
    13                  <result name="success">/index.jsp</result> 
    14           </action>
    15      </package>
    16 </struts>

    5.通过上续的操作,准备步骤就做的差不多了,接下来就是实现实体类的封装,代码如下:

     1 package com.sxt.action;
     2 
     3 import com.opensymphony.xwork2.ActionSupport;
     4 
     5 @SuppressWarnings("serial")
    <!--继承父类ActionSupport-->
    6 public class Login extends ActionSupport{ 7 private String username; 8 private String password; 9 public String getUsername() 10 { 11 return username; 12 } 13 public void setUsername(String username) 14 { 15 this.username = username; 16 } 17 public String getPassword() 18 { 19 return password; 20 } 21 public void setPassword(String password) 22 { 23 this.password = password; 24 } 25 //对值进行判读,如果不是设定的值,则报错,这里自己可以随意赋值 26 public String execute() throws Exception 27 { 28 if("hello".equals(this.getUsername().trim())&&"word".equals(this.getPassword().trim())) 29 { 30 return "success"; 31 } 32 else 33 { 34 this.addFieldError("username", "username or password error!!!!"); 35 return "failer"; 36 } 37 } 38 @Override 39 public void validate() { //验证 40 41 if(null==this.getUsername()|| "".equals(this.getUsername().trim())) 42 { 43 this.addFieldError("username", "username request"); 44 } 45 if(null==this.getPassword()||"".equals(this.getPassword().trim())) 46 { 47 this.addFieldError("password", "password request"); 48 } 49 } 50 51 }

    6.添加login.jsp

     1 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
     2 <%
     3 String path = request.getContextPath();
     4 String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
     5 %>
     6 <%@taglib prefix="s" uri="/struts-tags" %>
     7 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
     8 <html>
     9   <head>
    10     <base href="<%=basePath%>">
    11     
    12     <title>My JSP 'main.jsp' starting page</title>
    13     
    14     <meta http-equiv="pragma" content="no-cache">
    15     <meta http-equiv="cache-control" content="no-cache">
    16     <meta http-equiv="expires" content="0">    
    17     <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    18     <meta http-equiv="description" content="This is my page">
    19     <!--
    20     <link rel="stylesheet" type="text/css" href="styles.css">
    21     -->
    22 
    23   </head>
    24   
    25   <body>
    26       <s:form action="login">
    27       <s:textfield name="username" label="username"></s:textfield>
    28       <s:password name="password" label="password"></s:password>
    29       <s:submit name="submit"></s:submit>
    30     </s:form>  
    31   </body>
    32 </html>

    7.添加main.jsp进行输出

     1 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
     2 <%
     3 String path = request.getContextPath();
     4 String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
     5 %>
     6 
     7 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
     8 <html>
     9   <head>
    10     <base href="<%=basePath%>">
    11     
    12     <title>My JSP 'index.jsp' starting page</title>
    13     <meta http-equiv="pragma" content="no-cache">
    14     <meta http-equiv="cache-control" content="no-cache">
    15     <meta http-equiv="expires" content="0">    
    16     <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    17     <meta http-equiv="description" content="This is my page">
    18     <!--
    19     <link rel="stylesheet" type="text/css" href="styles.css">
    20     -->
    21   </head>
    22   
    23   <body>
    24     username:${requestScope.username}<br>
    25     password:${requestScope.password}
    26   </body>
    27 </html>

    8.运行结果如图:

    此前我判定的账号密码是hello和word,所以此处输入hello和word,对应的如果不是自己设定的值,则会报错,运行结果如下:

    一个简单的登录注册就完成了!有问题欢迎与各位探讨,这里只是实现简单的登录注册,没有连接数据库,但是自己可以试下。

  • 相关阅读:
    Java 正则表达式的总结和一些小例子
    jquery用div模拟一个下拉列表框
    jquery点击div以外的区域触发事件
    Jackson 框架,轻易转换JSON
    Java Json API:Gson使用简单入门
    linux必学
    Python2 long() 函数
    Python int() 函数
    PyCharm快捷键大全
    PyCharm常用设置
  • 原文地址:https://www.cnblogs.com/jbml-154312/p/5999252.html
Copyright © 2011-2022 走看看