struts2编写简单登录注册
2018-03-17 16:41
525 查看
第一步:配置struts2,包括导入jar包,配置web.xml
第二部:各部分代码实现
①数据库连接package com.db;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class Database {
private String dbDriver = "com.mysql.jdbc.Driver";
//数据库名struts2,表名user
private String dbUrl = "jdbc:mysql://localhost:3306/struts2?useUnicode=true&characterEncoding=utf8";
private String dbUser="root";
private String dbPass="mysql";
private Connection con;
public Connection getcon(){
try {
Class.forName(dbDriver);
con = DriverManager.getConnection(dbUrl,dbUser,dbPass);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
return con;
}
}②javabeanpackage com.po;
public class User {
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;
}
}③实现登录注册的action类package com.xatu;
import java.sql.Connection;
import java.sql.SQLException;
import java.sql.Statement;
import com.db.Database;
import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.ModelDriven;
import com.po.User;
@SuppressWarnings("serial")
public class RegisterAction extends ActionSupport implements ModelDriven<User>{
private User user = new User();
public String register(){
try {
Connection con = new Database().getcon();
Statement st = con.createStatement();
String sql = "insert into user values ('"+user.getUsername()+"','"+user.getPassword()+"')";
int i = st.executeUpdate(sql);
if(i>0){
return SUCCESS;
}else{
return INPUT;
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
@Override
public User getModel() {
// TODO Auto-generated method stub
return user;
}
}
<%
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="RegisterAction" method="post">
用户名:<input type="text" name="username"><br>
密 码:<input type="password" name="password"><br>
<input type="submit" value="注册">
</form>
</body>
</html>
<?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 value="false" name="struts.enable.DynamicMethodInvocation"/> <constant value="true" name="struts.devMode"/> <package name="default" namespace="/" extends="struts-default"> <action name="LoginAction" method="login" class="com.xatu.LoginAction"> <result>/success.jsp</result> <result name="input">/register.jsp</result> </action> <action name="RegisterAction" method="register" class="com.xatu.RegisterAction"> <result>/relogin.jsp</result> <result name="input">/register.jsp</result> </action> </package> </struts>
<?xml version="1.0" encoding="UTF-8"?> <web-app version="3.0" 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_3_0.xsd"> <display-name></display-name> <filter> <filter-name>Login</filter-name> <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class> </filter> <filter-mapping> <filter-name>Login</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <welcome-file-list> <welcome-file>login.jsp</welcome-file> </welcome-file-list> </web-app>
第二部:各部分代码实现
①数据库连接package com.db;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class Database {
private String dbDriver = "com.mysql.jdbc.Driver";
//数据库名struts2,表名user
private String dbUrl = "jdbc:mysql://localhost:3306/struts2?useUnicode=true&characterEncoding=utf8";
private String dbUser="root";
private String dbPass="mysql";
private Connection con;
public Connection getcon(){
try {
Class.forName(dbDriver);
con = DriverManager.getConnection(dbUrl,dbUser,dbPass);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
return con;
}
}②javabeanpackage com.po;
public class User {
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;
}
}③实现登录注册的action类package com.xatu;
import java.sql.Connection;
import java.sql.SQLException;
import java.sql.Statement;
import com.db.Database;
import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.ModelDriven;
import com.po.User;
@SuppressWarnings("serial")
public class RegisterAction extends ActionSupport implements ModelDriven<User>{
private User user = new User();
public String register(){
try {
Connection con = new Database().getcon();
Statement st = con.createStatement();
String sql = "insert into user values ('"+user.getUsername()+"','"+user.getPassword()+"')";
int i = st.executeUpdate(sql);
if(i>0){
return SUCCESS;
}else{
return INPUT;
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
@Override
public User getModel() {
// TODO Auto-generated method stub
return user;
}
}
package com.xatu; import java.sql.Connection; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import com.db.Database; import com.opensymphony.xwork2.ActionSupport; import com.opensymphony.xwork2.ModelDriven; import com.po.User; @SuppressWarnings("serial") public class LoginAction extends ActionSupport implements ModelDriven<User>{ private User user = new User(); public String login(){ try { Connection con = new Database().getcon(); Statement st = con.createStatement(); String sql = "select * from user"; ResultSet rs = st.executeQuery(sql); boolean f = true; while(rs.next()){ String username = rs.getString(1); String password = rs.getString(2); if(user.getUsername().equals(username) && user.getPassword().equals(password)){ f = false; return SUCCESS; } } if(f = true){ return INPUT; } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } return null; } @Override public User getModel() { return user; } }第三部分:jsp页面<%@ page language="java" import="java.util.*,com.po.User" 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="RegisterAction" method="post">
用户名:<input type="text" name="username"><br>
密 码:<input type="password" name="password"><br>
<input type="submit" value="注册">
</form>
</body>
</html>
<%@ page language="java" import="java.util.*,com.po.User" pageEncoding="utf-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; 91c8 %> <!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> 恭喜你,${username}登录成功! </body> </html>
<%@ 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> <a href="login.jsp">注册成功,点击登录!</a> </body> </html>
<%@ 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//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="LoginAction" method="post"> 用户名:<input type="text" name="username"><br> 密 码:<input type="password" name="password"><br><s:fielderror name="username"></s:fielderror> <input type="submit" value="登录" /> </form> </body> </html>Struts2也是基于MVC设计模式的一个java框架,本次项目中也是按照MVC设计模式设计的。
相关文章推荐
- django学习(一) form表单编写简单的注册登录页
- Hibernate+Struts2实现简单登录注册
- Python小练习 - 用字典编写简单的注册、登录程序
- eclipse下用J2EE(hibernate,struts2,spring)实现的简单登录、注册系统
- 最简单的Struts2登录
- Java语言编写简单的QQ登录界面
- 模块化分析设计(简单的注册登录模块)
- javaweb简单的登录注册功能实现
- 传智播客JavaWeb day07、day08-自定义标签(传统标签和简单标签)、mvc设计模式、用户注册登录注销
- django 1.11.5与python3.62实现简单的 注册,登录与修改密码
- JAVA简单实现MD5注册登录加密实例代码
- Python 实现简单的用户注册和登录
- ODBC + WIN32 API 访问MYSQL 数据库实现简单QQ用户注册和登录 的代码分析
- Struts2和Hibernate实现的注册登录模块
- ajax编写简单的登录页面
- Struts2和hibernate3的简单应用-登录验证
- Android数据存储(3)SQLite简介和简单的登录与注册源代码
- 初学python-练习_4使用python编写本地登录程序(带注册)
- 【php】基于php+mysql 简单的登录注册修改密码系统
- Struts 1 学习笔记-5-2(编写一个简单的支持I18N的登录系统)