版权声明:java洪君 https://blog.csdn.net/qq_43532342/article/details/85091312
Struts2:mvc形式框架
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>租房-用户登录</title>
<LINK rel=stylesheet type=text/css href="images/style.css">
</head>
<BODY>
<DIV id=header class=wrap>
<DIV id=logo>
<IMG src="images/logo.gif" width="193px;" height="74px;">
</DIV>
</DIV>
<DIV id=regLogin class=wrap>
<DIV class=dialog>
<DIV class=box>
<H4>用户登录</H4>
<FORM id=user method="post" action="LoginAction">
<DIV class=infos>
<TABLE class=field>
<TBODY>
<TR>
<TD colSpan=2></TD>
</TR>
<TR>
<TD class=field>用 户 名:</TD>
<TD><input type="text" class="text"
name="loginUser.userId" /></TD>
</TR>
<TR>
<TD class=field>密 码:</TD>
<TD><input type="password" class="text"
name="loginUser.userName" /></TD>
</TR>
</TBODY>
</TABLE>
<DIV class=buttons>
<input type="submit" value="登录"> <INPUT
onclick='document.location="regs.htm"' value=取消 type=button>
</DIV>
</DIV>
</FORM>
</DIV>
</DIV>
</DIV>
<DIV id=footer class=wrap>
<DL>
<DT>神君租房 © 2010 九天神君 京ICP证1000001号</DT>
<DD>关于我们 -联系方式 -意见反馈-帮助中心</DD>
</DL>
</DIV>
</BODY>
</HTML>
首先,一个前端的登陆请求发往后端
<!DOCTYPE web-app PUBLIC
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd" >
<web-app>
<display-name>Archetype Created Web Application</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>
进入过滤器
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>
<package name="default" namespace="/" extends="struts-default">
<interceptors>
<interceptor name="myInterceptor" class="com.hc.dao.HcIntercept"></interceptor>
</interceptors>
<!-- <default-action-ref name="HousesAction"></default-action-ref> -->
<action name="DeleteAction" class="com.hc.action.UpdateAction"
method="delete">
<result type="redirectAction">AdminAction</result>
</action>
<action name="AdminAction" class="com.hc.action.AdminAction"
method="admin">
<result>admin.jsp</result>
</action>
<action name="AlterAction" class="com.hc.action.UpdateAction"
method="alter">
<result>update.jsp</result>
</action>
<action name="UpdateAction" class="com.hc.action.UpdateAction"
method="update">
<interceptor-ref name="defaultStack"></interceptor-ref>
<interceptor-ref name="token"></interceptor-ref>
<result type="redirectAction">AdminAction</result>
<result name="invalid.token" type="redirectAction">AdminAction</result>
</action>
<action name="RegisterAction" class="com.hc.action.AddAction"
method="register">
<interceptor-ref name="defaultStack"></interceptor-ref>
<interceptor-ref name="token"></interceptor-ref>
<result>login.jsp</result>
<result name="invalid.token">register.jsp</result>
</action>
<action name="AddAction" class="com.hc.action.AddAction"
method="add">
<interceptor-ref name="defaultStack"></interceptor-ref>
<interceptor-ref name="token"></interceptor-ref>
<result type="redirectAction">HousesAction</result>
<result name="invalid.token">add.jsp</result>
</action>
<action name="LoginAction" class="com.hc.action.LoginAction"
method="login">
<result name="SUCCESS" type="redirectAction">HousesAction</result>
<result name="INPUT">/login.jsp</result>
</action>
<action name="HousesAction" class="com.hc.action.HousesAction"
method="houses">
<!-- <result>houses.jsp</result> -->
<result>index.jsp</result>
</action>
<action name="DetailsAction" class="com.hc.action.DetailsAction"
method="details">
<interceptor-ref name="defaultStack"></interceptor-ref>
<interceptor-ref name="myInterceptor"></interceptor-ref>
<result name="login">login.jsp</result>
<result>details.jsp</result>
</action>
</package>
</struts>
进入所配置的路径内
package com.hc.action;
import javax.servlet.http.HttpSession;
import org.apache.struts2.ServletActionContext;
import com.hc.dao.HouseDao;
import com.hc.entity.User;
import com.opensymphony.xwork2.ActionSupport;
public class LoginAction extends ActionSupport {
HttpSession session = ServletActionContext.getRequest().getSession();
private User loginUser;
public String login() {
String succ = "INPUT";
if (HouseDao.doLogin(loginUser)) {
session.setAttribute("loginUser", loginUser);
succ = "SUCCESS";
}
return succ;
}
public User getLoginUser() {
return loginUser;
}
public void setLoginUser(User loginUser) {
this.loginUser = loginUser;
}
}
action调用dao方法,判断此用户信息是否正确,是否是系统用户
dao连接数据库,进行SQL形式查询操作