您的位置:首页 > 编程语言 > Java开发

Struts2 + MySql 数据库实现登录

2013-03-21 00:11 190 查看
一、搭建Struts2环境

1.所需Jar包:(需要添加MySql数据库驱动)
commons-fileupload-1.2.1.jar

commons-logging-1.0.4.jar

freemarker-2.3.13.jar

mysql-connector-java-5.1.6-bin.jar

ognl-2.6.11.jar

struts2-core-2.1.6.jar

xwork-2.1.2.jar

2.配置web.xml
<?xmlversion="1.0"encoding="gbk"?>
<web-appversion="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">
<welcome-file-list>
<welcome-file>login.jsp</welcome-file>
</welcome-file-list>
<!--编码-->
<filter>
<filter-name>encodingFilter</filter-name>
<filter-class>com.login.filter.EncodingFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping><!--Struts2拦截器配置-->

<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>

3.Struts.xml配置

<?xmlversion="1.0"encoding="UTF-8"?>
<!DOCTYPEstrutsPUBLIC
"-//ApacheSoftwareFoundation//DTDStrutsConfiguration2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd"><struts>
<includefile="struts-default.xml"/>
<constantname="struts.locale"value="zh_CN"/>
<constantname="struts.i18n.encoding"value="GBK"/>

<packagename="lee"namespace="/"extends="struts-default">
<actionname="login"class="com.loginAction.LoginAction">
<resultname="success">/success.jsp</result>
<resultname="login">/error.jsp</result>
</action>
</package></struts>


4.创建数据库login,然后在数据库login中创建一个user表,该表有两个字段username和password,字段类型为varchar类型。然后再输入两条记录[code]


二、编写Java代码

[/code]
1.建立一个com.login.filter包,在包下新建一个Java类packagecom.login.filter;importjava.io.IOException;importjavax.servlet.Filter;
importjavax.servlet.FilterChain;
importjavax.servlet.FilterConfig;
importjavax.servlet.ServletException;
importjavax.servlet.ServletRequest;
importjavax.servlet.ServletResponse;publicclassEncodingFilterimplementsFilter{publicvoiddestroy(){
//TODOAuto-generatedmethodstub}publicvoiddoFilter(ServletRequestarg0,ServletResponsearg1,
FilterChainarg2)throwsIOException,ServletException{
//TODOAuto-generatedmethodstub
arg0.setCharacterEncoding("GBK");
arg2.doFilter(arg0,arg1);
}publicvoidinit(FilterConfigarg0)throwsServletException{
//TODOAuto-generatedmethodstub}}

2.创建一个com.loginAction包,在该包下新建一个Java类[code]packagecom.loginAction;importjava.sql.Connection;
importjava.sql.DriverManager;
importjava.sql.PreparedStatement;
importjava.sql.ResultSet;
importjava.sql.Statement;importcom.opensymphony.xwork2.ActionSupport;publicclassLoginActionextendsActionSupport{
privateStringusername;
privateStringpassword;
publicStringgetUsername(){
returnusername;
}
publicvoidsetUsername(Stringusername){
this.username=username;
}
publicStringgetPassword(){
returnpassword;
}
publicvoidsetPassword(Stringpassword){
this.password=password;
}
publicStringexecute(){
booleanflag=Login(username,password);
if(flag)
returnSUCCESS;
else
returnLOGIN;
}

/*验证登录是否成功*/
publicbooleanLogin(Stringusername,Stringpassword){
booleanflag=false;
Connectionconn=null;
ResultSetrs=null;
Statementstmt=null;
StringDBDriver="com.mysql.jdbc.Driver";
try{
Class.forName(DBDriver);
conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/login","root","root");
stmt=conn.createStatement();
System.out.println("测试连接!");
System.out.println(username);
rs=stmt.executeQuery("select*fromuserwhereusername='"+username+"'andpassword='"+password+"'");
if(rs.next()){
System.out.println("登录成功!");
flag=true;
}
}catch(Exceptione){
System.out.print("连接错误!");
e.printStackTrace();
}
returnflag;
}

}


[/code]
三、编写页面代码
需要3个页面login.jsp、success.jsp和error.jsp

1.login.jsp页面代码:<%@pagelanguage="java"import="java.util.*"pageEncoding="gbk"%>

<html>
<body>
<center><h2>
<formaction="login"method="post">
用户名:<inputname="username"/><br/>
密  码:<inputname="password"/><br/>
<inputvalue="登录"type="submit"><inputtype="reset"value="取消"/>
</form>
</body>
</html>

2.success.jsp页面代码:

<%@pagelanguage="java"import="java.util.*"pageEncoding="gbk"%>

<html>

<body>
<center><h1>登录成功!</h1></center><br>
</body>
</html>

3.error.jsp页面代码:

<%@pagelanguage="java"import="java.util.*"pageEncoding="gbk"%>

<html>

<body>
<center><h1>登录失败!</h1><br>
<ahref="login.jsp">返回登录页面<a/>
</body>
</html>


[/code]

四、运行结果
运行项目,实现登录功能。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  struts 登入