首先,今天是10.24祝大家代码之路越走越顺越走越远吧,早日年入百万脱离苦海!
言归正传,先放图,建立框架如下图所示:(我会按照从上往下的顺序一一列出)
话不多说,上代码!!!
1.UserAction:
package Action;
import model.User;
import java.sql.*;
public class UserAction {
private User u;//这个东西和set,get都必须要有,不然你可以试试
public UserAction() {
}
public User getU() {//直接自动生成就行
return u;
}
public void setU(User u) {
this.u = u;
}
public UserAction(User u) {
this.u = u;
}
public String Login() {
Connection con = null;
PreparedStatement ps = null;
ResultSet rs = null;
try {
String driver = "com.mysql.cj.jdbc.Driver";
Class.forName(driver);
String url = "jdbc:mysql://localhost:3306/testel?&useSSL=false&serverTimezone=UTC";
String user = "root";
String password = "123";//数据库的东西自己看着改,毕竟咱们不是一个数据库
con = DriverManager.getConnection(url, user, password);
String sql = "select * from user1 where userid=? and userpwd=?";
ps = con.prepareStatement(sql);
ps.setString(1, u.getUserid());
//ps.setString(2, u.getUsername());
ps.setString(2, u.getUserpwd());
rs = ps.executeQuery();
if (rs.next()) {
return "1";
}
} catch (ClassNotFoundException | SQLException e) {
e.printStackTrace();
} finally {
try {
if (rs != null) rs.close();
if (ps != null) ps.close();
if (con != null) con.close();
} catch (SQLException throwables) {
throwables.printStackTrace();
}
}
return "0";
}
}
2.User:
package model;
public class User {
private String userid,username,userpwd;//与数据库保持一致,这样比较简单
public User(){}//防止以后用到,提前写上
public User(String userid,String username,String userpwd){
this.userid=userid;
this.username=username;
this.userpwd=userpwd;
}
public String getUserid() {//自动生成
return userid;
}
public void setUserid(String userid) {
this.userid = userid;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getUserpwd() {
return userpwd;
}
public void setUserpwd(String userpwd) {
this.userpwd = userpwd;
}
}
3.struts.xml:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
"http://struts.apache.org/dtds/struts-2.5.dtd">
<struts>
<package name="default" namespace="/" extends="struts-default">//一般情况下这样写不会错,除非你建立的架构不一样,namespace可以改
<action name="login" class="Action.UserAction" method="Login">
<result name="1">/positive.jsp</result>//根据返回值跳转界面
<result name="0">/negative.jsp</result>
</action>
</package>
</struts>
4.web.xml:
<!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.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
</web-app>
5.login.jsp:
<%--
Created by IntelliJ IDEA.
User: hp
Date: 2021/10/23
Time: 19:36
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<table>
<form action="/login">
ID:<input type="text" name="u.userid"><br>//u是User的对象,看看上面就知道了
姓名:<input type="text" name="u.username"><br>
密码:<input type="text" name="u.userpwd"><br>
<input type="submit" value="登录">
</form>
</table>
</body>
</html>
6.negative.jsp:
<%--
Created by IntelliJ IDEA.
User: hp
Date: 2021/10/23
Time: 19:36
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
failure!
</body>
</html>
7.positive.jsp:
<%--
Created by IntelliJ IDEA.
User: hp
Date: 2021/10/23
Time: 19:35
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
success!//知道成功了就行
</body>
</html>