1. struts2 配置文件
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<package name="default" namespace="/" extends="struts-default">
<action name="logAct" class="com.struts.LoginAction">
<result name="input">/error.jsp</result>
<result name="success">/success.jsp</result>
</action>
</package>
</struts>
2. web.xml配置文件
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<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>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
3. LoginAction 类:
package com.struts;
import java.util.Map;
importorg.apache.struts2.interceptor.ApplicationAware;
import org.apache.struts2.interceptor.SessionAware;
importcom.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.ModelDriven;
public class LoginAction extendsActionSupport implements ModelDriven,
SessionAware,ApplicationAware{
privateusers user = new users();
privateMap<String, Object> sessionM;
privateMap<String, Object> applicationM;
//private HttpSession session;
publicObject getModel() {
returnuser;
}
publicvoid setSession(Map<String, Object> arg0) {
sessionM= arg0;
}
publicvoid setApplication(Map<String, Object> arg0) {
applicationM=arg0;
}
@Override
publicString execute() throws Exception {
//TODO Auto-generated method stub
DataBeandb=new DataBean();
//第一种方法:通过ActionContext获取MAP类型的Session
//ActionContext ac=ActionContext.getContext();
//sessionM=ac.getSession();
//sessionM.put("userName",user.getName());
//sessionM.put("user",user);
//第三种方法:通过控制反转方法 获取MAP类型的Session
sessionM.put("userName",user.getName());
sessionM.put("userPwd",user.getPwd());
sessionM.put("user",user);
Stringname=(String)sessionM.get("userName");
Stringpwd=(String)sessionM.get("userPwd");
usersa=new users();
a.setName(name);
a.setPwd(pwd);
intflag=db.Login(a);
if(flag>0){
if(applicationM.get("count")==null){
applicationM.put("count", 1);
}else{
intcount=Integer.parseInt(applicationM.get("count").toString());
applicationM.put("count",count+1);
}
//第二种方法:通过ServletActionContext获取 httpSESSIN类型的 SESSION
//session = ServletActionContext.getRequest().getSession();
//session.setAttribute("userName", user.getName());
//session.setAttribute("user", user);
returnSUCCESS;
}else{
returnINPUT;
}
}
}
4. DataBean 类:
package com.struts;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.ResourceBundle;
public class DataBean { //业务bean
//连接和关闭
private Connection conn=null;
public void connect(){ //连接数据库的方法
try{
ResourceBundlerb=ResourceBundle.getBundle("com.struts.date");
Stringdirver=rb.getString("dirver");
Stringurl=rb.getString("url");
Stringuser=rb.getString("user");
Stringpwd=rb.getString("pwd");
Class.forName(dirver);
conn = DriverManager.getConnection(url,user,pwd);
if(conn!=null){
System.out.println("连接成功");
}
}catch(Exception ex){
ex.printStackTrace();
}
}
public void closeConn(){
try{
if(conn!=null&&!conn.isClosed()){
conn.close();
}
}catch(Exception ex){
ex.printStackTrace();
}
}
public int Login(users a){
int flag=0;
this.connect();
String sql = "select * from users where userName=? and userPwd=?";
try {
PreparedStatement psta = conn.prepareStatement(sql);
psta.setString(1,a.getName());
psta.setString(2,a.getPwd());
ResultSet rs =psta.executeQuery(); //1
if(rs!=null&&rs.next()){
flag=1;
}
} catch (SQLException e) {
// TODO Auto-generatedcatch block
e.printStackTrace();
}
return flag;
}
}
5. users类:
package com.struts;
public class users {
private String name;
private String pwd;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPwd() {
return pwd;
}
public void setPwd(String pwd) {
this.pwd = pwd;
}
}
6. 资源文件:date.properties
dirver=oracle.jdbc.driver.OracleDriver
url=jdbc\:oracle\:thin\:@localhost\:1521\:orcl
user=system
pwd=Sa123456
7. jsp页面(index.jsp)
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme() + "://"
+ request.getServerName() + ":" + request.getServerPort()
+ path + "/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTDHTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP'index.jsp' starting page</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>
<s:form action="logAct">
<s:textfield name="name" label="用户名"></s:textfield>
<s:password name="pwd" label="密码"></s:password>
<s:submit value="登陆">
</s:submit>
</s:form>
</body>
</html>
8. jsp页面(error.jsp)
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme() + "://"
+ request.getServerName() + ":" + request.getServerPort()
+ path + "/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTDHTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP'success.jsp' starting page</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>
<H1>
用户名:
<s:property value="name" />
<br />
密码:
<s:property value="pwd" />
<br />
登陆失败!
</H1>
</body>
</html>
9. jsp页面(success.jsp)
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme() + "://"
+ request.getServerName() + ":" + request.getServerPort()
+ path + "/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTDHTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP'success.jsp' starting page</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>
<H1>
用户名:
<s:property value="name" />
<br />
密码:
<s:property value="pwd" />
<br />
登陆成功!
<br>
从SESSION中获取值(jsp方式):用户名:<%=session.getAttribute("userName")%><br>
从SESSION中获取值(struts方式):用户名:
<s:property value="#session.userName"/>
<br>
访问次数:
<s:property value="#application.count"/>
</H1>
</body>
</html>
这个变文章也是在这个csdn某个大神的博客上看到的 为了以后自己方便查看特地转载