day26_struts2.3登录案例

来源:互联网 发布:ireport软件 编辑:程序博客网 时间:2024/05/22 17:14

利用了struts2框架,开发中只需要书写JSP、action类、配置struts.xml。

以下就是利用了struts2框架完成登录注册案例:

index.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %><%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>XXXX网站主页</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>    <c:if test="${sessionScope.user==null}">    <a href="${pageContext.request.contextPath}/loginUI.action">登录</a>    </c:if>    <c:if test="${sessionScope.user!=null}">    欢迎您:${sessionScope.user}<a href="${pageContext.request.contextPath}/logout.action">注销</a>    </c:if>  </body></html>

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>用户登录</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="${pageContext.request.contextPath}/login.action" method="post">        用户名:<input type="text" name="username" /><br>    密码:<input type="password" name="password"><br>    <input type="submit" value="登录">    </form>  </body></html>


UserAction.java类:

package com.itheima.action;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpSession;import org.apache.struts2.ServletActionContext;import com.opensymphony.xwork2.ActionSupport;public class UserAction {HttpServletRequest request=ServletActionContext.getRequest();HttpSession session = request.getSession();public String login(){String username = request.getParameter("username");String password = request.getParameter("password");if("tang".equals(username)&&"123".equals(password)){session.setAttribute("user", username);return "success";}else{return "login";}}public String logout(){session.removeAttribute("user");return "success";}}

struts.xml:有一些配置是多余的,是其他action类用的,找到对应的配置查看即可。

<?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.action.extension" value="do,action,,"></constant><constant name="struts.devMode" value="true"></constant><constant name="struts.configuration.xml.reload" value="true"></constant><package name="default"  namespace="/path1/path2"  extends="struts-default"><action name="hello" class="com.itheima.action.HelloAction" method="sayHello"><result name="success">/success.jsp</result></action><action name="loginUI"><result name="success">/login.jsp</result></action><action name="login" class="com.itheima.action.UserAction" method="login"><result name="success">/success.jsp</result><result name="login">/login.jsp</result></action><action name="logout" class="com.itheima.action.UserAction" method="logout"><result name="success">/login.jsp</result></action></package><package name="p3" extends="struts-default" namespace="/user"><!--  User_add   第一个*匹配User  第二个*匹配add  --><action name="*_*"  class="com.itheima.action.{1}Action" method="{2}"/></package><include file="user.xml"></include></struts>

0 0