一:创建WEB项目截图
二:编写登录程序
<body>
<!-- "/LoginStruts/login.do"项目名加配置的资源名 -->
<form action="/LoginStruts/login.do" method="post">
u:<input type="text" name="username"><br/>
p:<input type="password" name="password"><br/>
<input type="submit" value="login">
</form>
</body>
三:编写UserForm
public class UserForm extends ActionForm{
private String username;
private String password;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
注意:这里写法一致。
四:编写Action
public class LoginAction extends Action {
@Override
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
// 把form强制转换成UserForm对象
UserForm userForm=(UserForm)form;
System.out.println("用户名="+userForm.getUsername());
//进行验证
if("123".equals(userForm.getPassword())){
request.setAttribute("username", userForm.getUsername());
return mapping.findForward("ok");
}else{
return mapping.findForward("err");
}
}
}
五:编写过滤器处理编码问题
public class MyFilter1 extends HttpServlet implements Filter {
public void doFilter(ServletRequest arg0, ServletResponse arg1,
FilterChain arg2) throws IOException, ServletException {
//测试是否进入过滤器
System.out.println("已经进入过滤器");
//设置接收的编码
arg0.setCharacterEncoding("utf-8");
arg2.doFilter(arg0, arg1);
//设置回应处理的编码
arg1.setContentType("text/html;charse=utf-8");
}
public void init(FilterConfig arg0) throws ServletException {
// TODO Auto-generated method stub
}
}
六:编写struts-config.xml核心配置文件
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.3//EN" "http://struts.apache.org/dtds/struts-config_1_3.dtd">
<struts-config>
<!-- 配置表单 -->
<form-beans>
<!-- name是表单名,建议类名小写 -->
<!-- type用于指定表单类的全路径 -->
<form-bean name="userForm" type="com.cloud.form.UserForm"></form-bean>
</form-beans>
<!-- 配置action -->
<action-mappings>
<!-- 配置一个具体的action -->
<!-- path表示资源名http//localhost:8080/path? -->
<!-- name用来关联某个表单,以便取出表单中的元素 -->
<!-- 指定action类的全路径 -->
<action path="/login" name="userForm" type="com.cloud.action.LoginAction">
<!-- 配置跳转关系 -->
<forward name="ok" path="/WEB-INF/wel.jsp"/>
<forward name="err" path="/WEB-INF/err.jsp"/>
</action>
</action-mappings>
</struts-config>
七:编写登录成功和失败页面
wel.jsp
<body>
ok;<%=request.getAttribute("username").toString() %><br/>
<a href="/LoginStruts/">重新登录</a>
</body>
err.jsp
<body>
err;
</body>
八:编写web.xml项目配置文件
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<servlet>
<servlet-name>action</servlet-name>
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
<!-- 配置struts-config路径 -->
<init-param>
<param-name>config</param-name>
<param-value>/WEB-INF/struts-config.xml</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
<!-- 配置过滤器 -->
<filter>
<filter-name>MyFilter1</filter-name>
<filter-class>com.cloud.filters.MyFilter1</filter-class>
</filter>
<filter-mapping>
<filter-name>MyFilter1</filter-name>
<!-- 针对所有的进行过滤 -->
<url-pattern>/*</url-pattern>
</filter-mapping>
</web-app>
注:这里的struts需要自己下载包导入项目中,该案例使用的是struts1,如有错误和建议欢迎提出,一起学习交朋友。
QQ:1327880701
版权声明:博主原创文章,转载请说明出处。http://blog.csdn.net/dzy21