学习Struts的第一天,使用MyEclipse6.02做了一个基于Struts框架的简单的登录页面。
JSP页面:
- <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
- <%
- String path = request.getContextPath();
- String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
- %>
- <html>
- <head><title>登录页面</title></head>
- <body>
- <h1 align="center">用户登录页面</h1>
- <hr>
- <div align="center">
- <form action="login.do" method="post">
- <table cellspacing=5 border=5 bodercolor=#ffaa00 >
- <tr><th colspan="3" align="center" bgcolor=#ffaa00>用户登录</th></tr>
- <tr>
- <th rowspan="3" background="<%=path%>/images/2.jpg" style="width=90px"></th>
- <td>用户名:</td><td><input type="text" name="username"></td></tr>
- <tr><td>密 码:</td><td><input type="password" name="userpassword"></td></tr>
- <tr><td colspan="2" align="center"><input type="submit" value="登录"> <input type="reset" value="重置"></td></tr>
- </table>
- </form>
- </div>
- </body>
- </html>
web.xml配置:
- <?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">
- <servlet>
- <servlet-name>ActionServlet</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>0</load-on-startup>
- </servlet>
- <servlet-mapping>
- <servlet-name>ActionServlet</servlet-name>
- <url-pattern>*.do</url-pattern>
- </servlet-mapping>
- <welcome-file-list>
- <welcome-file>index.jsp</welcome-file>
- </welcome-file-list>
- </web-app>
struts-config.xml的配置:
- <?xml version="1.0" encoding="UTF-8"?>
- <!DOCTYPE struts-config PUBLIC
- "-//Apache Software Foundation//DTD Struts Configuration 1.0//EN"
- "http://jakarta.apache.org/struts/dtds/struts-config_1_0.dtd">
- <struts-config>
- <!-- 配置ActionForm -->
- <form-beans>
- <form-bean name="loginform" type="myclass.from.LoginActionForm"></form-bean>
- </form-beans>
- <!-- 配置登录 -->
- <action-mappings>
- <action path="/login" name="loginform" type="myclass.action.LoginAction">
- <!-- 配置跳转 -->
- <forward name="succ" path="/succ.jsp"></forward>
- <forward name="failure" path="/failure.jsp"></forward>
- </action>
- </action-mappings>
- </struts-config>
ActionForm.java,事实上与MVC模式里的JavaBean差不多,Struts里面把页面参数用ActionFrom收集然后由
控制中心通过Struts-config的配置文件来匹配Action方法,如下:
- package myclass.from;
- import org.apache.struts.action.ActionForm;
- public class LoginActionForm extends ActionForm{
- public String username;
- public String userpassword;
- public String getUsername() {
- return username;
- }
- public void setUsername(String username) {
- this.username = username;
- }
- public String getUserpassword() {
- return userpassword;
- }
- public void setUserpassword(String userpassword) {
- this.userpassword = userpassword;
- }
- }
Action.java文件,Struts里的处理类。如下:
- package myclass.action;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- import myclass.from.LoginActionForm;
- 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{
- public ActionForward execute(
- ActionMapping mapping,
- ActionForm form,
- HttpServletRequest request,
- HttpServletResponse response)
- throws Exception {
- LoginActionForm laf=(LoginActionForm)form;
- System.out.println(laf.getUsername()+"----"+laf.getUserpassword());
- String path="";
- if(laf.getUsername().equals("liping")&&laf.getUserpassword().equals("123456")){
- path="succ";
- }else{
- path="failure";
- }
- return mapping.findForward(path);
- }
- }
到此一个简单的Struts登录页面就做好了。