菜鸟学SSH(一)——Struts实现简单登录(附源码)
来源:互联网 发布:傲剑九阳神功升级数据 编辑:程序博客网 时间:2024/05/21 11:21
从今天开始,一起跟各位聊聊java的三大框架——SSH。先从Struts开始说起,Struts对MVC进行了很好的封装,使用Struts的目的是为了帮助我们减少在运用MVC设计模型来开发Web应用的时间。如果我们想混合使用Servlets和JSP的优点来建立可扩展的应用,struts是一个不错的选择。今天通过一个简单的例子来说说Struts。
登录页面:
这里面没啥东西,主要就是将action命名成“.do”的形式,让Struts通过配置文件来执行相应操作。
<html><head><meta http-equiv="Content-Type" content="text/html; charset=GB18030"><title>Insert title here</title></head><body><form action="login.do" method="post">用户:<input type="text" name="username"><br>密码:<input type="password" name="password"></br><input type="submit" value="登录"></form></body></html>PS:表单中的name值必须跟对应的actionform的get、set属性一致。
web.xml:
它的作用就是告诉Struts它的配置文件(struts-config.xml)在哪,让Struts可以找到,还有执行的动作(.do),还有加载顺序之类的。
<?xml version="1.0" encoding="UTF-8"?><web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> <welcome-file-list> <welcome-file>login.jsp</welcome-file> </welcome-file-list> <servlet> <servlet-name>action</servlet-name> <servlet-class>org.apache.struts.action.ActionServlet</servlet-class> <init-param> <param-name>config</param-name> <param-value>/WEB-INF/struts-config.xml</param-value> </init-param> <load-on-startup>2</load-on-startup> </servlet> <!-- Standard Action Servlet Mapping --> <servlet-mapping> <servlet-name>action</servlet-name> <url-pattern>*.do</url-pattern> </servlet-mapping> </web-app>
struts-config.xml:
从名字上就能看出来,这是Struts的配置文件。form-bean用来接收提交的表单数据,action-mappings用来执行相应的动作。
<?xml version="1.0" encoding="ISO-8859-1" ?><!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN" "http://jakarta.apache.org/struts/dtds/struts-config_1_2.dtd"><struts-config><form-beans><form-bean name="loginForm" type="com.lsj.struts.LoginActionForm"/></form-beans><action-mappings><action path="/login" type="com.lsj.struts.LoginAction"name="loginForm"scope="request"><forward name="success" path="/login_success.jsp" /><forward name="error" path="/login_error.jsp"/></action></action-mappings></struts-config>
这个类就是用来处理用户登录的业务逻辑
package com.lsj.struts;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.apache.struts.action.Action;import org.apache.struts.action.ActionForm;import org.apache.struts.action.ActionForward;import org.apache.struts.action.ActionMapping;public class LoginAction extends Action {@Overridepublic ActionForward execute(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response)throws Exception {LoginActionForm laf = (LoginActionForm)form;String username = laf.getUsername();String password = laf.getPassword();UserManager userManager = new UserManager();try {userManager.login(username, password);return mapping.findForward("success");}catch(UserNotFoundException e) {e.printStackTrace();request.setAttribute("msg", "用户不能找到,用户名称=【" + username + "】");}catch(PasswordErrorException e) {e.printStackTrace();request.setAttribute("msg", "密码错误");}return mapping.findForward("error");}}
通过上面这个简单的小实例,大家可以清晰的看出,两个配置文件起到了一个很好的串联作用。也正是因为有配置文件,所以才是程序变得非常的灵活。这个小例子比较简单,配置文件承担的责任不是很多,后面的东西会更多的用到配置文件,体会就会更加的深刻了。最后为大家附上源码方便一起研究讨论。
源代码
- 菜鸟学SSH(一)——Struts实现简单登录(附源码)
- SSH(一)~——Struts实现简单登录(附源码)
- 菜鸟学SSH(十三)——Spring容器IOC解析及简单实现
- 菜鸟学SSH(十五)——简单模拟Hibernate实现原理
- 菜鸟学SSH(十八)——Hibernate动态模型+JRebel实现动态创建表
- 菜鸟学SSH(十八)——Hibernate动态模型+JRebel实现动态创建表
- 菜鸟学SSH(四)——Struts2拦截器
- 菜鸟学SSH(五)——Struts2上传文件
- 菜鸟学SSH(六)——Spring事务管理
- 菜鸟学SSH(十)——Hibernate核心接口
- 菜鸟学Java(一)——Ajax异步检查用户名是否存在(附Demo下载)
- MyEclipse整合SSH(Struts+Spring+Hibernate)简单登录范例(一)
- MyEclipse整合SSH(Struts+Spring+Hibernate)简单登录范例(一)
- MyEclipse整合SSH(Struts+Spring+Hibernate)简单登录范例(一)
- SSH整合(一)Struts简单实例
- 【分享】分享一个基于SSH实现的简单学生选课系统(附源码)
- 【SSH进阶之路】Struts基本原理 + 实现简单登录(二)
- 【SSH进阶之路】Struts基本原理 + 实现简单登录(二)
- view抖动效果,可以同时添加震动和声音
- windows的菜单是怎么实现的
- 构建C1000K的服务器(1) – 基础
- EMMC相关
- IOCP模型与网络编程
- 菜鸟学SSH(一)——Struts实现简单登录(附源码)
- VB.NET2010 下HTTP代理浏览网页的实现
- Hadoop集群中增加新节点
- 帖一下我的fbterm的配置
- struct 字节对齐详解
- 通过SQL语句将timestamp的值变为随着录入时间而变
- Struts2的配置文件中package元素内部的内容及顺序
- 走台阶问题
- asm管理的Oracle 创建用户表空间