struts
struts的几个基本概念
- struts 是一个框架(frameset)
- struts 是一个web框架
- 框架提高了程序的规范化的同时也约束了程序员的自由
struts为什么有?
维护、扩展、效率更高
struts的运行原理
以一个用户登录来讲解原理图:
struts的快速入门案例(以用户登录验证来演示)
手动配置第一个struts项目:
步骤:
- 创建一个工程
- 引入struts开发包
- 编写login.jsp
- 编写ActionForm(用户表单)和Action(小队长->登录小队长)
- 编写struts-config.xml文件,该文件用于配置action actionForm对应关系,跳转位置。一般放在/WEB-INFO下面
- 编写wel.jsp和erro.jsp
- 配置web.xml,配置ActionServlet
- 测试
- 使用过滤器解决输入中文用户名乱码的问题
步骤如下:
开放一个过滤器,并设置request.setCharacterEncoding(“utf-8”);
MyFilter1.java
package com.hsp.filters;
import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
/**
* Servlet implementation class MyFilter1
*/
public class MyFilter1 extends HttpServlet implements Filter {
@Override
public void doFilter(ServletRequest arg0, ServletResponse arg1,
FilterChain arg2) throws IOException, ServletException {
// TODO Auto-generated method stub
arg0.setCharacterEncoding("utf-8"); // 设置接收编码
arg2.doFilter(arg0, arg1);
}
@Override
public void init(FilterConfig arg0) throws ServletException {
// TODO Auto-generated method stub
}
}
配置web.xml
<filter>
<filter-name>MyFilter1</filter-name>
<filter-class>com.hsp.filters.MyFilter1</filter-class>
</filter>
<filter-mapping>
<filter-name>MyFilter1</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
- struts-config.xml配置文件
scope这个属性 - 每个action都是单态,包括ActionServlet
单态是指:整个程序运行的过程中,始终是一个对象 - struts-config文件的路径,不一定要放在/WEB-INF目录下
- 一个项目可以有多个struts-config配置文件,如果有多个配置文件,可以在web.xml文件中配置
- 增加到数据库去验证该用户是否合法
在mysql数据库中增加一张表
使用工具开发struts项目
用工具导入struts开放包,自动完成相关配置,手动配置struts-config.xml即可,使用登录系统来学习
- 建立web工程
- 导入struts开发包
- 开发login.jsp
- 手动配置struts-config.xml
- 开发ok.jsp和err.jsp页面
- 测试
完全依赖myeclipse去创建项目
- 创建web工程
- 引入struts开放包
- 开发login.jsp
- 开发action和表单actionForm,创建表单:
创建action:
- 连线
- 编写逻辑代码