📄 in13_logon.htm
字号:
</v:shape><![endif]--><![if !vml]><img border=0 width=624 height=438
src="in13_Logon_files/image038.jpg" v:shapes="_x0000_s1043"><![endif]></span></p>
<p class="MsoNormal"><span lang="EN-US"> </span></p>
<p class="MsoNormal" style="text-indent: 21.1pt"><b>
<span style="font-family:黑体">如果不登陆而是直接运行</span><span lang="EN-US" style="font-family: 黑体">mainMenu.jsp主菜单页面或UserEdit.jsp查询页面,将会自动先转到用户登陆页面,这里不再演示。</span></b></p>
<p class="MsoNormal"><span lang="EN-US"> </span></p>
<p class="MsoNormal"><span style="font-family: 宋体">通过上述步骤,实现了预计的目标功能。</span></p>
<p class="MsoNormal"><span lang="EN-US"> </span></p>
<p class="MsoNormal"><b>
<span lang="EN-US" style="font-size:14.0pt;font-family:黑体">[程序源代码]</span></b></p>
<p class="MsoNormal" style="text-indent: 21.0pt"><span style="font-family: 宋体">
与《</span><b><span style="font-family: 宋体">如何实现</span><span lang="EN-US" style="font-family: 宋体">Struts
</span><span style="font-family: 宋体">数据库应用程序</span></b><span style="font-family: 宋体">》相比,本例主要是多了</span><b><span style="font-family: 黑体">用户登陆所需的<span lang="EN-US">logon.jsp、logonAction.java文件</span></span></b><span style="font-family: 宋体">以及用于检查用户是否已登陆的自定义标签文件<span lang="EN-US">CheckLogonTag.java,由于</span></span><b><span lang="EN-US" style="font-family: 黑体">logon.jsp文件没有什么特别之处,所以这里就不列出来。</span></b></p>
<p class="MsoNormal" style="text-indent: 21.1pt"><b>
<span lang="EN-US" style="font-family: 黑体">logonAction.java文件:</span></b></p>
<p class="MsoNormal" style="text-indent: 21.0pt">
<span lang="EN-US" style="font-family: 宋体">package emptyprj;</span></p>
<p class="MsoNormal" style="text-indent: 21.0pt">
<span lang="EN-US" style="font-family: 宋体"> </span></p>
<p class="MsoNormal" style="text-indent: 21.0pt">
<span lang="EN-US" style="font-family: 宋体">import
emptyprj.jdbc.util.ConnectionPool;</span></p>
<p class="MsoNormal" style="text-indent: 21.0pt">
<span lang="EN-US" style="font-family: 宋体">import java.util.Locale;</span></p>
<p class="MsoNormal" style="text-indent: 21.0pt">
<span lang="EN-US" style="font-family: 宋体">import
javax.servlet.http.HttpServletRequest;</span></p>
<p class="MsoNormal" style="text-indent: 21.0pt">
<span lang="EN-US" style="font-family: 宋体">import
javax.servlet.http.HttpSession;</span></p>
<p class="MsoNormal" style="text-indent: 21.0pt">
<span lang="EN-US" style="font-family: 宋体">import
javax.servlet.http.HttpServletResponse;</span></p>
<p class="MsoNormal" style="text-indent: 21.0pt">
<span lang="EN-US" style="font-family: 宋体">import
org.apache.commons.logging.Log;</span></p>
<p class="MsoNormal" style="text-indent: 21.0pt">
<span lang="EN-US" style="font-family: 宋体">import
org.apache.commons.logging.LogFactory;</span></p>
<p class="MsoNormal" style="text-indent: 21.0pt">
<span lang="EN-US" style="font-family: 宋体">import
org.apache.struts.action.Action;</span></p>
<p class="MsoNormal" style="text-indent: 21.0pt">
<span lang="EN-US" style="font-family: 宋体">import
org.apache.struts.action.ActionError;</span></p>
<p class="MsoNormal" style="text-indent: 21.0pt">
<span lang="EN-US" style="font-family: 宋体">import
org.apache.struts.action.ActionErrors;</span></p>
<p class="MsoNormal" style="text-indent: 21.0pt">
<span lang="EN-US" style="font-family: 宋体">import
org.apache.struts.action.ActionForm;</span></p>
<p class="MsoNormal" style="text-indent: 21.0pt">
<span lang="EN-US" style="font-family: 宋体">import
org.apache.struts.action.ActionForward;</span></p>
<p class="MsoNormal" style="text-indent: 21.0pt">
<span lang="EN-US" style="font-family: 宋体">import
org.apache.struts.action.ActionMapping;</span></p>
<p class="MsoNormal" style="text-indent: 21.0pt">
<span lang="EN-US" style="font-family: 宋体">import
org.apache.struts.util.ModuleException;</span></p>
<p class="MsoNormal" style="text-indent: 21.0pt">
<span lang="EN-US" style="font-family: 宋体">import
org.apache.struts.util.MessageResources;</span></p>
<p class="MsoNormal" style="text-indent: 21.0pt">
<span lang="EN-US" style="font-family: 宋体">import
org.apache.commons.beanutils.PropertyUtils;</span></p>
<p class="MsoNormal" style="text-indent: 21.0pt">
<span lang="EN-US" style="font-family: 宋体"> </span></p>
<p class="MsoNormal" style="text-indent: 21.0pt">
<span lang="EN-US" style="font-family: 宋体">import java.sql.Connection;</span></p>
<p class="MsoNormal" style="text-indent: 21.0pt">
<span lang="EN-US" style="font-family: 宋体">import java.sql.PreparedStatement;</span></p>
<p class="MsoNormal" style="text-indent: 21.0pt">
<span lang="EN-US" style="font-family: 宋体">import java.sql.ResultSet;</span></p>
<p class="MsoNormal" style="text-indent: 21.0pt">
<span lang="EN-US" style="font-family: 宋体">import java.sql.SQLException;</span></p>
<p class="MsoNormal" style="text-indent: 21.0pt">
<span lang="EN-US" style="font-family: 宋体">import java.util.HashMap;</span></p>
<p class="MsoNormal" style="text-indent: 21.0pt">
<span lang="EN-US" style="font-family: 宋体"> </span></p>
<p class="MsoNormal" style="text-indent: 21.0pt">
<span lang="EN-US" style="font-family: 宋体">import java.util.Collection;</span></p>
<p class="MsoNormal" style="text-indent: 21.0pt">
<span lang="EN-US" style="font-family: 宋体">public final class LogonAction
extends Action {</span></p>
<p class="MsoNormal" style="text-indent: 21.0pt">
<span lang="EN-US" style="font-family: 宋体"> private Log log =</span></p>
<p class="MsoNormal" style="text-indent: 21.0pt">
<span lang="EN-US" style="font-family: 宋体">
LogFactory.getLog("org.apache.struts.webapp.Example");</span></p>
<p class="MsoNormal" style="text-indent: 21.0pt">
<span lang="EN-US" style="font-family: 宋体"> </span></p>
<p class="MsoNormal" style="text-indent: 21.0pt">
<span lang="EN-US" style="font-family: 宋体"> private ConnectionPool pool;</span></p>
<p class="MsoNormal" style="text-indent: 21.0pt">
<span lang="EN-US" style="font-family: 宋体"> </span></p>
<p class="MsoNormal" style="text-indent: 21.0pt">
<span lang="EN-US" style="font-family: 宋体"> public LogonAction() {</span></p>
<p class="MsoNormal" style="text-indent: 21.0pt">
<span lang="EN-US" style="font-family: 宋体"> pool =
ConnectionPool.getInstance();</span></p>
<p class="MsoNormal" style="text-indent: 21.0pt">
<span lang="EN-US" style="font-family: 宋体"> }</span></p>
<p class="MsoNormal" style="text-indent: 21.0pt">
<span lang="EN-US" style="font-family: 宋体"> public ActionForward
execute(ActionMapping mapping,</span></p>
<p class="MsoNormal" style="text-indent: 21.0pt">
<span lang="EN-US" style="font-family: 宋体"> ActionForm form,</span></p>
<p class="MsoNormal" style="text-indent: 21.0pt">
<span lang="EN-US" style="font-family: 宋体"> HttpServletRequest
request,</span></p>
<p class="MsoNormal" style="text-indent: 21.0pt">
<span lang="EN-US" style="font-family: 宋体"> HttpServletResponse
response)</span></p>
<p class="MsoNormal" style="text-indent: 21.0pt">
<span lang="EN-US" style="font-family: 宋体"> throws Exception {</span></p>
<p class="MsoNormal" style="text-indent: 21.0pt">
<span lang="EN-US" style="font-family: 宋体"> </span></p>
<p class="MsoNormal" style="text-indent: 21.0pt">
<span lang="EN-US" style="font-family: 宋体"> // Extract attributes we will
need</span></p>
<p class="MsoNormal" style="text-indent: 21.0pt">
<span lang="EN-US" style="font-family: 宋体"> Locale locale =
getLocale(request);</span></p>
<p class="MsoNormal" style="text-indent: 21.0pt">
<span lang="EN-US" style="font-family: 宋体"> MessageResources messages =
getResources(request);</span></p>
<p class="MsoNormal" style="text-indent: 21.0pt">
<span lang="EN-US" style="font-family: 宋体"> </span></p>
<p class="MsoNormal" style="text-indent: 21.0pt">
<span lang="EN-US" style="font-family: 宋体"> // Validate the request
parameters specified by the user</span></p>
<p class="MsoNormal" style="text-indent: 21.0pt">
<span lang="EN-US" style="font-family: 宋体"> ActionErrors errors = new
ActionErrors();</span></p>
<p class="MsoNormal" style="text-indent: 21.0pt">
<span lang="EN-US" style="font-family: 宋体"> String username = (String)</span></p>
<p class="MsoNormal" style="text-indent: 21.0pt">
<span lang="EN-US" style="font-family: 宋体">
PropertyUtils.getSimpleProperty(form, "username");</span></p>
<p class="MsoNormal" style="text-indent: 21.0pt">
<span lang="EN-US" style="font-family: 宋体"> String password = (String)</span></p>
<p class="MsoNormal" style="text-indent: 21.0pt">
<span lang="EN-US" style="font-family: 宋体">
PropertyUtils.getSimpleProperty(form, "password");</span></p>
<p class="MsoNormal" style="text-indent: 21.0pt">
<span lang="EN-US" style="font-family: 宋体"> </span></p>
<p class="MsoNormal" style="text-indent: 21.0pt">
<span lang="EN-US" style="font-family: 宋体"> </span></p>
<p class="MsoNormal" style="text-indent: 21.0pt">
<span lang="EN-US" style="font-family: 宋体"> </span></p>
<p class="MsoNormal" style="text-indent: 21.0pt">
<span lang="EN-US" style="font-family: 宋体"> </span><b>
<span lang="EN-US" style="font-family: 黑体"> if (!CheckUser(username,password))</span></b></p>
<p class="MsoNormal" style="text-indent: 21.1pt"><b>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -