struts 2框架及实现代码
Struts 2 控制的MVC系统
代码实现过程:
1。DB类实现数据库连接代码
2。JavaBean初始化即login类,register类提供get()和set()获取数据库数据实现初始化。
3 。struts实现Action与JSP也面互动。
代码如下:
DBConn类访问数据库代码
package com;
import java.sql.*;
publicclass DBConn {
publicstatic Connection conn;
publicstatic Connection getConn(){
try {
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/ll","root","123456");
returnconn;
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
returnnull;
}
}
publicstaticvoid CloseConn(){
try {
conn.close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
Dao类实现数据库表的操作
package com;
importjava.sql.*;
publicclass l_dao {
Connection conn;
public logincheckLogin(String username,String password){
conn = DBConn.getConn();
PreparedStatement pstmt;
try {
pstmt = conn.prepareStatement("select * from login whereusername=?"+"and password =?");
pstmt.setString(1, username);
pstmt.setString(2, password);
ResultSet rs=pstmt.executeQuery();
if(rs.next()){
login login=new login();
login.setLogin_id(rs.getInt(1));
login.setUsername(rs.getString(1));
login.setPassword(rs.getString(2));
// login.setRole(rs.getInt(4));
return login;
} returnnull;
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
returnnull;
}finally{
DBConn.CloseConn();
}
}
}
Login类实现get和set方法
package com;
publicclass login {
privateintlogin_id;
private String username;
private String password;
publicint getLogin_id() {
returnlogin_id;
}
publicvoid setLogin_id(int login_id) {
this.login_id = login_id;
}
public String getUsername() {
returnusername;
}
publicvoid setUsername(String username) {
this.username = username;
}
public String getPassword() {
returnpassword;
}
publicvoid setPassword(String password) {
this.password = password;
}
}
Action类
package com;
importjava.util.Map;
importcom.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;
public classloginAction extends ActionSupport{
private String username;
private String password;
private login login;
public String execute() throws Exception{
l_dao logindao=new l_dao();
login l= logindao.checkLogin(login.getUsername(),login.getPassword());
if(l!=null){
Map session=ActionContext.getContext().getSession();
session.put("login",l);
return SUCCESS;
}else{
return ERROR;
}
}
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;
}
public login getLogin() {
return login;
}
public void setLogin(login login) {
this.login = login;
}
}
Struts 2配置文件
<?xml version="1.0"encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//ApacheSoftware Foundation//DTD Struts Configuration 2.1.7//EN"
"http://struts.apache.org/dtds/struts-2.1.7.dtd">
<struts>
<package name="default" extends="struts-default">
<action name="login" class="com.loginAction">
<result name="success">/main.jsp</result>
<result name="error">/error.jsp</result>
</action>
</package>
<constant name="struts.il8n.encoding" value="gb2312"></constant>
</struts>
Web配置文件
<?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">
<!-- structs2配置文件 -->
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
<init-param>
<param-name>actionPackages</param-name>
<param-value>com.mycompany.myapp.actions</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<display-name></display-name>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
Index.jsp
<%@ page language="java" import="java.util.*"pageEncoding="utf-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<html>
<head>
<title>用户登陆</title>
</head>
<body bgcolor="#71CABF"style="text-align=center;">
<s:form action="login"menthod="post" theme="simple">
<table>
<caption>用户登陆</caption>
<tr>
<td>登录名</td>
<td><s:textfield name="login.username" size="20"/></td>
</tr>
<tr>
<td>密 码 :</td>
<td><s:password name="login.password"type="password" size="21"/></td>
</tr>
<tr>
<td>
<s:submit value="登陆"/>
<s:reset value="重置"/>
</td>
</tr>
</table>
</s:form>
</body>
</html>