JSP注册登录页教程

转载请标明原文地址:http://www.cnblogs.com/zhangyukof/p/6785258.html 

一、准备工作

已搭建好的SSH框架工程一个,如果没有,请参考我的上一篇文章《SSH框架搭建详细图文教程》。

二、登陆功能

1.打开MyEclipse切换到MyEclipse DataBase Explorer视图,右键user表选择"Hibernate Reverse Engineering",通过Spring框架的逆向工程功能把user表逆向生成Java实体类。

2.在弹出窗口中Java src folder 选择SSH项目下的src文件夹。Java package 填写“com.ssh.spring.user”。

勾选前三个选项:Create POJO、Java Data Obect和Java Data Access Object。POJO类是数据库表格所对应的Java类,JDO类是MyEclipse自动生成的对数据库的一些操作,这里会封装一些常用的操作,基本上可以满足我们的各种需要了,填写后选择“下一步”。

3.Id Generator 选择“native”,点击完成。

4.此时的目录结构如下,我们可以看到系统生成了3个类,一个配置文件。
User 继承自AbstractUser,是User表的实体类。
UserDAO 封装了一些对数据库的常用操作。
User.hbm.xml 是hibernate-mapping映射配置文件,配置了哪个实体类映射哪个表,配置了实体类的哪个属性映射表里的哪列。

5.现在来写测试页。打开WEB-INF文件夹下的struts-config.xml文件,切换到设计视图(design)。在空白处右键 > New > Form Action and JSP。

6.填写Form表单属性:
Use case: login
在下方Form Properties中点击“Add”添加两个属性
username: JSP input type选择“text”
password: JSP input type选择“password”

7.切换到JSP选项,勾选“Create JSP form”选项让系统自动生成login.jsp页,点击“完成”。

8.完成后项目结构如下,Struts帮我们建立了逻辑关系并生成了login.jsp、LoginForm.java、LoginAction.java三个文件。这正是我们在设计视图里选择Form,Action and JSP所配置的信息。

9.把struts-config.xml切换到source源代码视图,可以看到struts的配置文件里也相应的添加了这3个文件的映射配置信息。

Struts处理请求的流程:

10.新建一个loginSuccess.jsp登陆成功页,实现登陆后的跳转。右键项目的WebRoot/form文件夹 选择“新建” > “JSP(Advanced Templates)”。

11.在弹出窗口中“File Name”处填写:loginSuccess.jsp。

12.打开loginSuccess.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>登陆成功页</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>
  <% Object nickname = request.getAttribute("nickname"); %>
    登陆成功!欢迎您:<% out.print(nickname); %><br>
  </body>
</html>

13.把登录页、登录成功跳转、登录失败跳转关联到一起。
切换到struts-config.xml的设计视图。在视图中右键选择 New->Forward。

14.在弹出窗口中配置如下信息:
(1)选择Local Action Forward
(2)浏览Action Path:/login
(3)填写name:loginSuccess
(4)浏览Path:/form/loginSuccess.jsp
(5)点击“完成”

15.添加一个登陆失败跳转。在设计视图中的右键选择 New->Forward。在弹出窗口中配置如下信息:
(1)选择Local Action Forward
(2)浏览Action Path:/login
(3)填写name:loginFail
(4)浏览Path:/form/login.jsp
(5)点击“完成”

添加跳转后struts-config.xml结构如下:

16.切换到struts-config.xml的source视图,可以看到在aciton下多了两行跳转信息。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN" "http://struts.apache.org/dtds/struts-config_1_2.dtd">

<struts-config>
  <data-sources />
  <form-beans >
    <form-bean name="loginForm" type="com.ssh.struts.form.LoginForm" />

  </form-beans>

  <global-exceptions />
  <global-forwards />
  <action-mappings >
    <action
      attribute="loginForm"
      input="/form/login.jsp"
      name="loginForm"
      path="/login"
      scope="request"
      type="com.ssh.struts.action.LoginAction">
      <set-property property="cancellable" value="true" />
      <forward name="loginSuccess" path="/form/loginSuccess.jsp" />
      <forward name="loginFail" path="/form/login.jsp" />
    </action>

  </action-mappings>

  <message-resources parameter="com.ssh.struts.ApplicationResources" />
</struts-config>

17.写具体的处理代码。打开struts/aciton包下的LoginAction.java。修改代码如下,先不连数据库测一下是否能够正确跳转。

package com.ssh.struts.action;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import com.ssh.struts.form.LoginForm;

public class LoginAction extends Action {

    public ActionForward execute(ActionMapping mapping, ActionForm form,
            HttpServletRequest request, HttpServletResponse response) {

        LoginForm loginForm = (LoginForm) form;
        //获取帐号密码
        String username = loginForm.getUsername();
        String password = loginForm.getPassword();
        //帐号密码匹配跳转到登录成功页并显示昵称
        if("asd".equals(username) && "123".equals(password)){
            request.setAttribute("nickname", "冰封百度");
            return mapping.findForward("loginSuccess");
        }
        //不匹配,跳转到登录失败页并显示提示信息
        request.setAttribute("message", "账号或密码错误");
        return mapping.findForward("loginFail");
    }
}

18.页面准备完毕。启动Tomcat服务器,在浏览器中访问登陆页地址:http://127.0.0.1:8080/SSH/form/login.jsp

19.汉化界面。打开login.jsp,代码如下:

<%@ page language="java" pageEncoding="UTF-8"%>
<%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean"%>
<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html"%>

<html>
    <head>
        <title>JSP for LoginForm form</title>
    </head>
    <body>
        <html:form action="/login">
            username : <html:text property="username"/><html:errors property="username"/><br/>
            password : <html:password property="password"/><html:errors property="password"/><br/>
            <html:submit/><html:cancel/>
        </html:form>
    </body>
</html>

注意:头部引用的文件位置是"http://struts.apache.org/",路径地址是国外apache的官网文件,这个地址经常会访问不到,导致页面打开失败,所以这里要改成自己工程下的文件路径。

页面代码修改如下:

<%@ page language="java" pageEncoding="UTF-8"%>
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>

<html>
    <head>
        <title>登陆页</title>
    </head>
    <body>
        <html:form action="/login">
            用户名 : <html:text property="username"/><html:errors property="username"/><br/>
            密 码 : <html:password property="password"/><html:errors property="password"/><br/>
            <html:submit value="登陆" /><html:cancel value="取消"/>
        </html:form>
        <% Object message = request.getAttribute("message"); %>
        <% if(message != null) out.print(message); %>
    </body>
</html>

刷新页面可以看到如下效果:

20.直接点击登陆。因为没填账号密码,应该跳转到登陆失败页面。

21.用户名填写“asd”,密码填写“123”。点击登录,帐号密码和后台设置的匹配,这时候应该跳转到登录成功页面。

22.测试完成,下面我们连接一下数据库,从数据库里取出user数据进行匹配。
想操作数据库我们要先获取DAO(data access object),我们的UserDAO是hibernate生成的,关于UserDAO的配置信息写在了applicationContext.xml里。所以在用UserDAO之前要先获取applicationContext.xml

百度上查找了一下相关代码,找到了一个获取applicationContext.xml的方法。Spring框架里的
ClassPathXmlApplicationContext 通过这个类可以获取到我们需要的DAO。名字和applicationContext非常像,看起来就是这个类了,测试一下这个类是否好用,修改LoginAction.java代码如下:

package com.ssh.struts.action;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.springframework.context.support.ClassPathXmlApplicationContext;

import com.ssh.struts.form.LoginForm;

public class LoginAction extends Action {

    public ActionForward execute(ActionMapping mapping, ActionForm form,
            HttpServletRequest request, HttpServletResponse response) {

        LoginForm loginForm = (LoginForm) form;
        //获取帐号密码
        String username = loginForm.getUsername();
        String password = loginForm.getPassword();
        //获取用户信息
        ClassPathXmlApplicationContext beans = new ClassPathXmlApplicationContext("applicationContext.xml");
        System.out.println(beans);
        //帐号密码匹配跳转到登录成功页并显示昵称
        if("asd".equals(username) && "123".equals(password)){
            request.setAttribute("nickname", "冰封百度");
            return mapping.findForward("loginSuccess");
        }
        //不匹配,跳转到登录失败页并显示提示信息
        request.setAttribute("message", "账号或密码错误");
        return mapping.findForward("loginFail");
    }
}

23.重启Tomcat服务器,访问登录页http://127.0.0.1:8080/SSH/form/login.jsp,点击登录。

javax.servlet.ServletException: org.springframework.beans.factory.BeanDefinitionStoreException: IOException parsing XML document from class path resource [applicationContext.xml]

出现了一个错误,意思为找不到applicationContext.xml。看来我们填写的路径有问题,这个配置文件应该是从我们项目classes的根目录开始查找的,先看一下我们的项目发布后classes的路径,右键SSH项目 > 属性 > Java构建路径 > 源代码。

可以看到我们项目发布后classes的根目录是SSH/WebRoot/WEB-INF/classes。 applicationContext.xml是这个位置的上一级,那么相对于这个路径的位置就是"../applicationContext.xml"。现在把LoginAction里的路径修改一下:

ClassPathXmlApplicationContext beans = new ClassPathXmlApplicationContext("../applicationContext.xml");

重新启动Tomcat服务器,访问登录页http://127.0.0.1:8080/SSH/form/login.jsp,点击登录:
页面不再报错,正常跳转,控制台也输出了:
org[email protected]14bb075: startup date [Mon Apr 22 14:26:58 CST 2017]; root of context hierarchy]

如果页面还是出错,出现以下信息,则有可能Java EE库的版本低了,请删除项目里的Java EE库重新添加Java EE 6.0库

org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘sessionFactory‘ defined in class path resource [config/applicationContext.xml]: Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [org.springframework.orm.hibernate3.LocalSessionFactoryBean]: Constructor threw exception; nested exception is java.lang.NoClassDefFoundError: org/hibernate/cfg/Configuration

24.路径的问题解决了,正确的获取到了配置信息,这个配置信息我们以后要经常用,没必要每次用的时候都把它创建出来,写一个全局变量保存它吧。在src下新建一个包com.ssh.common,在包里新建一个类Global.java。输入代码如下:

package com.ssh.common;

import org.springframework.context.support.ClassPathXmlApplicationContext;

public class Global {

    public static ClassPathXmlApplicationContext beans = new ClassPathXmlApplicationContext("../applicationContext.xml");

    public static Object getDao(String daoName){
        return beans.getBean(daoName);
    }
}

26.现在来获取数据库里的数据,上一篇文章中建的user表中已经插入了一条数据,就用这个用户信息来测试。

把LoginAction.java代码修改如下:

package com.ssh.struts.action;

import java.util.List;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;

import com.ssh.common.Global;
import com.ssh.spring.user.User;
import com.ssh.spring.user.UserDAO;
import com.ssh.struts.form.LoginForm;

public class LoginAction extends Action {

    public ActionForward execute(ActionMapping mapping, ActionForm form,
            HttpServletRequest request, HttpServletResponse response) {

        LoginForm loginForm = (LoginForm) form;
        //获取帐号密码
        String username = loginForm.getUsername();
        String password = loginForm.getPassword();
        //检查该用户是否存在
        User instance = new User();
        instance.setUsername(username);
        instance.setPassword(password);
        UserDAO userDAO = (UserDAO)Global.getDao("UserDAO");
        List<?> list = userDAO.findByExample(instance);
        //如果用户存在,跳转到登录成功页并显示昵称
        if(list.size() > 0){
            User user = (User)list.get(0);
            String nickname = user.getNickname();
            request.setAttribute("nickname", nickname);
            return mapping.findForward("loginSuccess");
        }
        //用户不存在,跳转到登录失败页并显示提示信息
        request.setAttribute("message", "账号或密码错误");
        return mapping.findForward("loginFail");
    }
}

重新启动Tomcat服务器,访问登录页http://127.0.0.1:8080/SSH/form/login.jsp,用户名:admin,密码:1234,点击登录。可以看到,跳转到登陆成功页并显示了正确的昵称。

登录功能完成,因为只是个测试页,这些功能就尽量简单了,大家别介意,下面来做注册功能。

三、注册功能

1.切换到struts-config.xml的设计视图,空白处右键选择 New > Form,Action and JSP。

2.在弹出窗口中配置如下信息:

Use case填写“register”
Form Properties点击“Add”添加三个属性
(1)username    type:text
(2)password    type:password
(3)nickname    type:text

3.点击JSP选项,勾选Create JSP form,点击“完成”。

4.关联测试页和登陆页。右键struts-config.xml设计视图中的regiser.jsp 选择  New > Forward。

5.添加注册成功跳转。在弹出窗口中配置如下信息:

(1)选择Local Action Forward
(2)Action Path:/register
(3)Name:registerSuccess
(4)Path:/form/login.jsp

点击“完成”。

6.添加注册失败跳转。右键struts-config.xml设计视图中的regiser.jsp 选择  New > Forward。在弹出窗口中配置如下信息:

(1)选择Local Action Forward
(2)Action Path:/register
(3)Name:registerFail
(4)Path:/form/register.jsp

点击“完成”。

关联成功后struts-config.xml代码如下:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN" "http://struts.apache.org/dtds/struts-config_1_2.dtd">

<struts-config>
  <data-sources />
  <form-beans >
    <form-bean name="loginForm" type="com.ssh.struts.form.LoginForm" />
    <form-bean name="registerForm" type="com.ssh.struts.form.RegisterForm" />

  </form-beans>

  <global-exceptions />
  <global-forwards />
  <action-mappings >
    <action
      attribute="loginForm"
      input="/form/login.jsp"
      name="loginForm"
      path="/login"
      scope="request"
      type="com.ssh.struts.action.LoginAction">
      <set-property property="cancellable" value="true" />
      <forward name="loginSuccess" path="/form/loginSuccess.jsp" />
      <forward name="loginFail" path="/form/login.jsp" />
    </action>
    <action
      attribute="registerForm"
      input="/form/register.jsp"
      name="registerForm"
      path="/register"
      scope="request"
      type="com.ssh.struts.action.RegisterAction">
      <set-property property="cancellable" value="true" />
      <forward name="registerSuccess" path="/form/login.jsp" />
      <forward name="registerFail" path="/form/register.jsp" />
    </action>

  </action-mappings>

  <message-resources parameter="com.ssh.struts.ApplicationResources" />
</struts-config>

7.汉化注册页。register.jsp修改后代码如下:

<%@ page language="java" pageEncoding="UTF-8"%>
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>

<html>
    <head>
        <title>注册页</title>
    </head>
    <body>
        <html:form action="/register">
            昵 称 : <html:text property="nickname"/><html:errors property="nickname"/><br/>
            用户名 : <html:text property="username"/><html:errors property="username"/><br/>
            密 码 : <html:password property="password"/><html:errors property="password"/><br/>
            <html:submit value="确定"/><html:cancel value="取消"/>
        </html:form>
        <% Object message = request.getAttribute("message"); %>
        <% if(message != null) out.print(message); %>
    </body>
</html>

8.把注册信息插入数据库。打开RegisterAction.java文件,修改代码如下:

package com.ssh.struts.action;

import java.util.List;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;

import com.ssh.common.Global;
import com.ssh.spring.user.User;
import com.ssh.spring.user.UserDAO;
import com.ssh.struts.form.RegisterForm;

public class RegisterAction extends Action {

    public ActionForward execute(ActionMapping mapping, ActionForm form,
            HttpServletRequest request, HttpServletResponse response) {

        //获取注册信息
        RegisterForm registerForm = (RegisterForm) form;
        String nickname = registerForm.getNickname();
        String username = registerForm.getUsername();
        String password = registerForm.getPassword();

        //检查表单值是否有效
        if(nickname.length() == 0 || username.length() == 0 || password.length() == 0){
            request.setAttribute("message", "请填写昵称、用户名和密码");
            return mapping.findForward("registerFail");
        }

        //检查用户名是否已被注册
        UserDAO userDAO = (UserDAO)Global.getDao("UserDAO");
        List<?> list = userDAO.findByUsername(username);

        //用户名已被注册,返回注册页面
        if(list.size() > 0){
            request.setAttribute("message", "该用户名已被注册");
            return mapping.findForward("registerFail");
        }

        //插入新用户
        User user = new User();
        user.setUsername(username);
        user.setPassword(password);
        user.setNickname(nickname);
        userDAO.save(user);
        request.setAttribute("message", "注册成功,请登录:" + nickname);
        return mapping.findForward("registerSuccess");
    }
}

9.测试注册功能。重新启动Tomcat服务器,访问注册页http://127.0.0.1:8080/SSH/form/register.jsp

(1)不填写信息,直接点击“确定”,会发现提示信息。

(2)填写昵称、用户名和密码后点击“确定”。

昵称:冰封千里

用户名:asd

密码:123

可以看到注册成功了。至此,JSP的简单注册登录功能全部完成。

如果出现乱码请按照以下方式解决。

编码问题是很常见的问题,如果出现中文乱码的问题请打开web.xml配置编码过滤器即可解决这个问题。

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.5" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee   http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
  <!-- 中文乱码过滤器 Start -->
  <!-- 在使用Tomcat服务器时,Struts的Form提交不支持中文,需要添加编码过滤器 -->
  <filter>
      <filter-name>encodingFilter</filter-name>
      <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
      <init-param>
          <param-name>encoding</param-name>
          <param-value>UTF-8</param-value>
      </init-param>
      <init-param>
          <param-name>forceEncoding</param-name>
          <param-value>true</param-value>
      </init-param>
  </filter>
  <filter-mapping>
      <filter-name>encodingFilter</filter-name>
      <url-pattern>/*</url-pattern>
  </filter-mapping>
  <!-- 中文乱码过滤器 End -->
  <display-name />
  <servlet>
    <servlet-name>action</servlet-name>
    <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
    <init-param>
      <param-name>config</param-name>
      <param-value>/WEB-INF/struts-config.xml</param-value>
    </init-param>
    <init-param>
      <param-name>debug</param-name>
      <param-value>3</param-value>
    </init-param>
    <init-param>
      <param-name>detail</param-name>
      <param-value>3</param-value>
    </init-param>
    <load-on-startup>0</load-on-startup>
  </servlet>
  <servlet-mapping>
    <servlet-name>action</servlet-name>
    <url-pattern>*.do</url-pattern>
  </servlet-mapping>
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
</web-app>

??

时间: 2024-10-16 13:19:07

JSP注册登录页教程的相关文章

以小见大:如何设计注册登录页?

一个合格的注册登录页面,应该是具有清晰的操作流程. 朋友说某个APP不错,下载后正准备好好体验一番,却被糟糕的注册登录页面弄的精疲力竭,无奈最终只能放弃.注册登录流程能让用户扭头就走,也能让产品获得新用户的芳心. 一个合格的注册登录页面,应该是具有清晰的操作流程,良好的交互细节和美观的视觉设计. 清晰的操作流程 APP的注册登录有四种情况: 不需要注册登录 常见于系统自带的工具类APP,像经常使用的闹钟.日历.计算器等等:一些简单的第三方APP:乐流,榫卯等. 这些APP的特点都是功能相对单一,

通过ajax前端后台交互/登录页和注册页前端后台交互详解/前端后台交互基础应用/几个后台函数的基础应用/php文件函数基础应用/php字符传函数基础应用/php数组函数基础应用

  前  言  PHP     学习了好久的PHP,今天做一个可以后台交互的登录页和注册页,没做什么判断,简单的了解一下. 具体的内容分析如下: ① PHP中的数据传输-->>由注册页传输给注册页后台-->>注册页后台经过转码保存实例化的文件 ② 在登录页输入账户密码,点击登录时,获得触发函数:获得由后台传输过来的true或者false---转换页面或者弹出输入错误.    登录页后台获取保存账户密码的实例化文件,通过转码,if判断之后传输给前台登录页TURE或者FALSE. 总共

完整的JSP+Servlet+MyEclipse编写的注册登录

原文:完整的JSP+Servlet+MyEclipse编写的注册登录 源代码下载地址:http://www.zuidaima.com/share/1550463689198592.htm 开发工具介绍: 1. MyEclipse10 2. Tomcat6 3. MySQL5.6 需要导入数据库,或者自己创建数据库,数据库名字为db_test 当然也可以自己去源码里面改连接. 首页 http://localhost:端口/项目/index.jsp 登陆 http://localhost:端口/项目

注册和登录表单切换的大气登录页模板

全屏的背景图片,简洁的设计,注册和登录表单可切换,很不错的登录页模板.演示  下载 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"><he

JSP:注册&amp;登录

数据库:Mysql 除了_id自动增长,其余全是varchar 注册:register.jsp <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme() + "://"

jsp简易登录和注册及JDBC连接Oracle

一:JDBC连接数据库(Oracle参考) public class DBTest {//测试 public static void main(String[] args) {  ResultSet rs = null;  Statement stmt = null;  Connection conn = null;  try {   // 加载驱动   Class.forName("oracle.jdbc.driver.OracleDriver");   // 连接数据库   Str

怎么注册登录instagram使用教程

..怎么注册登录instagram使用教程,后面有图1.首先需要一个辅助工具:5G加速器,手机电脑MAC全设备可以通用登入 2.这里拿电脑端连接方式告诉大家,度娘搜:5G加速器,进官网,点下载管理,一键下载安装后图标如下图 3.点开软件注册登录后如图 4.选择一个节点连接,这里有局部模式(可以游览国外网站,不改变本地IP)全局备用模式(可以游览国外网站,改变本地IP)和备用模式三个可选,我们有24H客服在线,如果有连不上的情况不要着急请联系我们,24H客服热线括括76113201.我们会第一时间

8、ABPZero系列教程之拼多多卖家工具 添加手机注册登录功能

现在网站基本都用手机注册,很少用邮箱注册,本篇内容比较多,代码我会尽量加备注,有些操作需要连续添加几个文件才不报错,如果VS显示错误,请继续后续步骤. 前面已经有一篇文章讲到集成短信发送模块:http://www.cnblogs.com/shensigzs/category/1147235.html 在此基础上才能做手机注册功能,没有完成的同学请先去整合后再回来. 语言文件 AbpZeroTemplate-zh-CN.xml文件末尾添加如下键值对: 文件路径:D:\abp version\asp

SSH系列:(19)系统首页、子系统首页、登录页、项目主页

在这里,有三个名词需要区分:项目首页.系统首页.子系统首页.登录页. 项目首页是指在web.xml文件中配置的页面.   <welcome-file-list>     <welcome-file>index.jsp</welcome-file>   </welcome-file-list> 当一个系统比较大时,可能包含多个子系统.系统有自己的主页,称为系统首页:而子系统也有自己的主页,称为子系统首页. 登录页,则是用户进行登录的页面. 1.系统首页 (1)