实验六 利用Struts2实现自定义拦截器.docx
- 文档编号:12401314
- 上传时间:2023-06-05
- 格式:DOCX
- 页数:35
- 大小:21.06KB
实验六 利用Struts2实现自定义拦截器.docx
《实验六 利用Struts2实现自定义拦截器.docx》由会员分享,可在线阅读,更多相关《实验六 利用Struts2实现自定义拦截器.docx(35页珍藏版)》请在冰点文库上搜索。
实验六利用Struts2实现自定义拦截器
1、自定义拦截器,实现对注册页面上的文字信息进行过滤拦截,不允许出现字符集合中{“佛法”,”集会”,”党派”}的文字信息。
如出现,则返回到注册页面,重新填写。
2、定义拦截器,实现登录检查。
由于在项目开发时,需要对大多数的页面进行登录检查。
当没有登录就无法进行操作,并返回到登录页面。
为减少代码量利用Struts2中自定义拦截器的功能,实现登录检查。
(避免不登录直接访问某个Action)
Web.xml
xmlversion="1.0"encoding="UTF-8"?
>
xsi="http: //www.w3.org/2001/XMLSchema-instance"xmlns="xsi: schemaLocation="id="WebApp_ID"version="3.0"> struts.xml xmlversion="1.0"encoding="UTF-8"? > DOCTYPEstrutsPUBLIC "-//ApacheSoftwareFoundation//DTDStrutsConfiguration2.1.7//EN" "http: //struts.apache.org/dtds/struts-2.1.dtd"> method="updateInit"> method="update"> Db createdatabaseMg_book; useMg_book; createtableusers( idintauto_incrementprimarykeynotnull, namevarchar(10)notnull, passwordvarchar(20)notnull, roleboolean ); useMg_book; insertintousers(name,password,role) values("王小丫","123",false); insertintousers(name,password,role) values("王丫","1234",true); Login packageWDF.org.entity; importjava.io.Serializable; /** *@authorwdf * */ publicclassLoginimplementsSerializable{ privateIntegerid; privateStringname; privateStringpassword; privatebooleanrole; publicIntegergetId(){ returnid; } publicvoidsetId(Integerid){ this.id=id; } publicStringgetName(){ returnname; } publicvoidsetName(Stringname){ this.name=name; } publicStringgetPassword(){ returnpassword; } publicvoidsetPassword(Stringpassword){ this.password=password; } publicbooleanisRole(){ returnrole; } publicvoidsetRole(booleanrole){ this.role=role; } } DBConn.java packageWDF.org.dao; importjava.sql.Connection; importjava.sql.DriverManager; publicclassDBConn{ publicstaticConnectionconn; publicstaticConnectiongetConn(){ try{ Class.forName("com.mysql.jdbc.Driver"); conn=DriverManager.getConnection("jdbc: mysql: //localhost: 3306/Mg_book","root","123456"); returnconn; }catch(Exceptione){ //TODOAuto-generatedcatchblock e.printStackTrace(); returnnull; } } publicstaticvoidCloseConn(){ try{ conn.close(); }catch(Exceptione){ //TODOAuto-generatedcatchblock e.printStackTrace(); } } } LoginDao.java packageWDF.org.dao; importjava.sql.Connection; importjava.sql.PreparedStatement; importjava.sql.ResultSet; importjava.sql.SQLException; importjava.util.ArrayList; importjava.util.List; importWDF.org.entity.Login; publicclassLoginDao{ Connectionconn; publicLogincheckLogin(Stringname,Stringpassword){ try{ conn=DBConn.getConn(); PreparedStatementpstmt=conn.prepareStatement("select*fromuserswherename=? "+"andpassword=? "); pstmt.setString(1,name); pstmt.setString(2,password); ResultSetrs=pstmt.executeQuery(); if(rs.next()){ Loginlogin=newLogin(); login.setId(rs.getInt (1)); login.setName(rs.getString (2)); login.setPassword(rs.getString(3)); login.setRole(rs.getBoolean(4)); returnlogin; } returnnull; }catch(Exceptione){ //TODOAuto-generatedcatchblock e.printStackTrace(); returnnull; } finally{ DBConn.CloseConn(); } } publicbooleanaddUser(Loginlogin){ PreparedStatementpsmt=null; try{ conn=DBConn.getConn(); psmt=conn.prepareStatement( "insertintousers(name,password,role)"+"values(? ? ? )"); psmt.setString(1,login.getName()); psmt.setString(2,login.getPassword()); psmt.setBoolean(3,login.isRole()); if(psmt.executeUpdate()==1){ returntrue; } }catch(SQLExceptione){ e.printStackTrace(); }finally{ try{ if(psmt! =null) psmt.close(); }catch(SQLExceptione){ e.printStackTrace(); } DBConn.CloseConn(); } returnfalse; } publicList List PreparedStatementpsmt=null; ResultSetrs=null; try{ conn=DBConn.getConn(); psmt=conn.prepareStatement("select*fromusers"); rs=psmt.executeQuery(); while(rs.next()){ Loginuser=newLogin(); user.setId(rs.getInt("id")); user.setName(rs.getString("name")); user.setPassword(rs.getString("password")); user.setRole(rs.getBoolean("role")); iusers.add(user); } }catch(SQLExceptione){ e.printStackTrace(); }finally{ try{ if(rs! =null) rs.close(); if(psmt! =null) psmt.close(); }catch(SQLExceptione){ e.printStackTrace(); } DBConn.CloseConn(); } returniusers; } publicLoginfindUserById(intid){ PreparedStatementpsmt=null; ResultSetrs=null; try{ conn=DBConn.getConn(); psmt=conn.prepareStatement("select*fromuserswhereid=? "); psmt.setInt(1,id); rs=psmt.executeQuery(); if(rs.next()){ Loginuser=newLogin(); user.setId(rs.getInt("id")); user.setName(rs.getString("name")); user.setPassword(rs.getString("password")); user.setRole(rs.getBoolean("role")); returnuser; } }catch(SQLExceptione){ e.printStackTrace(); }finally{ try{ if(rs! =null) rs.close(); if(psmt! =null) psmt.close(); }catch(SQLExceptione){ e.printStackTrace(); } DBConn.CloseConn(); } returnnull; } publicbooleanupdateUser(Loginuser){ PreparedStatementpsmt=null; try{ conn=DBConn.getConn(); psmt=conn.prepareStatement( "updateuserssetname=? password=? role=? whereid=? "); psmt.setString(1,user.getName()); psmt.setString(2,user.getPassword()); psmt.setBoolean(3,user.isRole()); psmt.setInt(4,user.getId()); if(psmt.executeUpdate()==1){ returntrue; } }catch(SQLExceptione){ e.printStackTrace(); }finally{ try{ if(psmt! =null) psmt.close(); }catch(SQLExceptione){ e.printStackTrace(); } DBConn.CloseConn(); } returnfalse; } publicList List if(pageSize>0&&pageNow>0){ PreparedStatementpsmt=null; ResultSetrs=null; try{ conn=DBConn.getConn(); psmt=conn.prepareStatement("select*fromusersorderbyidlimit"+(pageNow*pageSize-pageSize)+","+pageSize); rs=psmt.executeQuery(); Loginlogin; while(rs.next()){ login=newLogin(); login.setId(rs.getInt("id")); login.setName(rs.getString("name")); login.setPassword(rs.getString("password")); login.setRole(rs.getBoolean("role")); list.add(login); } }catch(SQLExceptione){ //TODOAuto-generatedcatchblock e.printStackTrace(); } } returnlist; } publicintgetMaxPage(intpageSize){ if(pageSize<1) return1; PreparedStatementpsmt=null; ResultSetrs=null; try{ conn=DBConn.getConn()
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验六 利用Struts2实现自定义拦截器 实验 利用 Struts2 实现 自定义 拦截