一个简单登录例子
来源:互联网 发布:笔记本装机必备软件 编辑:程序博客网 时间:2024/06/04 18:56
开发前的配置
WEB-INF文件夹下的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>Test</display-name> <filter> <filter-name>struts2</filter-name> <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class> </filter> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/*</url-pattern> </filter-mapping></web-app>src文件夹下的struts.xml文件内容
<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE struts PUBLIC"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN""http://struts.apache.org/dtds/struts-2.3.dtd"><struts> <constant name="struts.enable.DynamicMethodInvocation" value="false" /> <constant name="struts.devMode" value="true" /> <constant name="struts.custom.i18n.resources" value="test"/> <package name="default" namespace="/" extends="struts-default"> </package> </struts>
在eclipse中用struts2做一个登录的小例子
WebContent文件夹中创建一个content文件夹,我们把所有的视图文件都放在那里,在content中创建一个TestLogin.jsp文件
TestLogin.jsp文件的内容如下
<!-- 编码格式是UTF-8的,因为要有中文 --><%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><!-- 引入struts2的标签库 --><%@ taglib prefix="s" uri="/struts-tags" %><!DOCTYPE html><html><head><meta charset="utf-8"><title>测试登录</title></head><body>这是登录的测试页面<!-- struts的表单标签,它的action是testLogin --><s:form action="TestLogin"><!-- 下三个分别是文本框的标签、密码的标签和提交按钮的标签 --><s:textfield name="username" key="user"/><s:password name="password" key="pass"/><s:submit key="login"></s:submit></s:form></body></html>
之后我们在content文件夹下在创建两个jsp文件,分别命名为error.jsp和success.jsp用来显示登录错误和登录成功的页面,文件内容如下
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><!DOCTYPE html><html><head><meta charset="utf-8"><title></title></head><body><!-- 错误页面与之类似 -->这是成功页面</body></html>
package action;import com.opensymphony.xwork2.ActionSupport;public class TestAction extends ActionSupport {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;}@Overridepublic String execute() throws Exception {//当访问那个action的时候会默认会运行这个方法System.out.println("这里是TestLogin的execute方法");//在表单中我们已经通过name指定了与之对应的参数,//所以这里的getUsername()和getPassword()会得到我们刚刚输入的内容if(getUsername().equals("admin") && getPassword().equals("123")) {//简单的判断是否用户名密码输入正确//这里的SUCCESS和ERROR在继承的ActionSupport中定义了的//它的值实际上就是"success"和"error"System.out.println(SUCCESS);return SUCCESS;} else {return ERROR;}}}
之后在src文件夹下的struts.xml文件中加入映射,使之访问TestLogin的时候能够映射到TestAction这个类中去,修改之后的xml文件内容是这样的
<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE struts PUBLIC"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN""http://struts.apache.org/dtds/struts-2.3.dtd"><struts> <constant name="struts.enable.DynamicMethodInvocation" value="false" /> <constant name="struts.devMode" value="true" /><constant name="struts.custom.i18n.resources" value="test"/><!-- 在默认的包中 --> <package name="default" namespace="/" extends="struts-default"><!-- action名字是TestLogin,当表单的action为TestLogin是就会访问到这里的class所对应的类 --><!-- 注意这里的class的类必须是继承了ActionSupport的 --> <action name="TestLogin" class="action.TestAction"> <!-- 如果action类返回一个success字符串 --> <result name="success"> <!-- 就跳跳转到这个文件中 --> /content/success.jsp </result><!-- 如果返回结果是error的话 --> <result name="error"> /content/error.jsp </result> </action> </package> </struts>以下是文件结构
0 0
- 一个简单登录例子
- 一个简单的Ajax登录例子
- 一个 JSP 简单的登录例子
- struts1的一个登录的简单例子
- jsp中的一个简单的登录的一个例子
- 一个yale-cas实现单点登录的简单例子实现
- 一个登录 的例子
- spring mvc 简单登录例子
- spring mvc 简单登录例子
- 一个登录的MVP例子
- 一个简单木马例子
- 一个简单的例子
- 一个简单木马例子
- 一个ajax简单例子
- 一个Spring简单例子
- HttpInvokerProxyFactoryBean一个简单例子
- 一个makefile简单例子
- 一个简单css例子
- 通过django的meta类来修改自动后台显示的模块名称
- Ubuntu下调试Android源码
- android wifi操作大全
- [LeetCode 241] Different Ways to Add Parentheses
- 广播
- 一个简单登录例子
- 我遇到的 一些 Jenkins 问题 杂谈
- Sublime Text3 解决中文乱码 & 可用注册码 & 设置默认打开方式
- java 的初步认识
- Android网络传输中必用的两个加密算法:MD5 和 RSA (附java完成测试代码)
- 数据结构 list map set
- 从VB启航--回首IT这四年
- Android源码开发之预制视频音乐等资源
- u-boot 2015.01 :has EABI version 0, but target u-boot has EABI version 4