Struts2 入门案例

入门案例:登录判断;

采用两种方式对比:servlet  与 struts2

struts2的包结构:

一,采用servlet实现登录

1.基本jsp页面确定,登录表单提交,与两个结果页面,登录成功与登录失败页面,代码如下:

 1 《login.jsp》
 2 <body>
 3      <form action="${pageContext.request.contextPath }/login"  method="post">
 4            username:<input type="text" name="username">
 5            password:<input type="password" name="password">
 6            <input type="submit" name='login'>
 7      </form>
 8 </body>
 9 <body>
10 《failer.jsp》
11 <h1> 失败</h1>
12 </body>
13 《success.jsp》
14 <body>
15 <h1> 成功!</h1>
16 </body>
三个jsp页面

 

2.servlet书写,创建一个loginServlet.java,注意设置的响应后缀与提交页面的后缀一样!

 1 public class loginServle extends HttpServlet {
 2      private static final long serialVersionUID = 1L;
 3        
 4     public loginServle() {
 5         super();
 6     }
 7      protected void doGet(HttpServletRequest request,  HttpServletResponse response) throws ServletException,  IOException {
 8            String name=request.getParameter("username");
 9            String pass=request.getParameter("password");
10            if("tom".equals(name)&&"123".equals(pass)) {
11                 response.sendRedirect(request.getContextPath()+"/success.jsp");
12            }else {
13                 response.sendRedirect(request.getContextPath()+"/failer.jsp");
14            }
15      }
16      protected void doPost(HttpServletRequest request,  HttpServletResponse response) throws ServletException,  IOException {
17            doGet(request, response);
18      }
19 }
loginServlet.java

 

3.确认web.xml的配置信息,是否正确(仅显示主要代码)

 1 <servlet>
 2     <description></description>
 3     <display-name>loginServle</display-name>
 4     <servlet-name>loginServle</servlet-name>
 5     <servlet-class>com.loginServle</servlet-class>
 6   </servlet>
 7   <servlet-mapping>
 8     <servlet-name>loginServle</servlet-name>
 9     <url-pattern>/login</url-pattern>
10   </servlet-mapping>
web.xml

 

二,采用struts2实现登录

1.同样使用上面的三个jsp页面

2.导入struts2的jar包(主要的13个包,选取struts2里面的apps中的实例项目中的Lib文件拷贝到本项目的Lib文件夹中)

3.配置web.xml信息,手动写入filter(拦截器) 的名字和源代码路径,再写入拦截器的映射条件,此处设置位/*,详见下面代码:

 1 <servlet>
 2     <description></description>
 3     <display-name>loginServle</display-name>
 4     <servlet-name>loginServle</servlet-name>
 5     <servlet-class>com.loginServle</servlet-class>
 6   </servlet>
 7   <servlet-mapping>
 8     <servlet-name>loginServle</servlet-name>
 9     <url-pattern>/login</url-pattern>
10   </servlet-mapping>
struts2的web.xml

 

4.配置struts.xml,这个是把拦截器拦截到的请求信息映射到具体的Action类中,就和servlet很像,基本结构就是package与action还要result,具体的功能,后面介绍

 1 <?xml version="1.0" encoding="UTF-8" ?>
 2 <!DOCTYPE struts PUBLIC
 3      "-//Apache Software Foundation//DTD Struts Configuration  2.3//EN"
 4      "http://struts.apache.org/dtds/struts-2.3.dtd">
 5 <struts>
 6     <package name="default" namespace="/"  extends="struts-default">
 7     <action name="struts2" class ="com.strutsAction"  method="show"></action>
 8     <action name="login" class ="com.loginAction"  method="login">
 9       <result name="success">/success.jsp</result>
10       <result name="failer">/failer.jsp</result>
11     </action>
12     </package>
13 </struts>
struts.xml

 

5.Action的创建,这个只是一个简单的java类,没有继承,但是类的成员名字要和请求中的参数名字相同,才能把信息提取出来。

 1 public class loginAction {
 2      private String username;
 3      private String password;
 4      
 5      public String getUsername() {
 6            return username;
 7      }
 8      public String getPassword() {
 9            return password;
10      }
11      public void setUsername(String username) {
12            this.username = username;
13      }
14      public void setPassword(String password) {
15            this.password = password;
16      }
17      public String login() {
18            //如何获取请求参数,这里又不是servlet!!!
19            System.out.println("访问到了login()方法");
20            System.out.println(username+" "+password);
21            if("tom".equals(username)&&"123".equals(password)) {
22                 System.out.println("登录密码正确");
23                 return "success";
24            }else {
25                 return "failer";
26            }
27      }
28 }
loginAction

 

结果页面:login:                      failer.jsp                                                             success.jsp

 

 

 

 

 

 

评价:struts包装了servlet,完成它的功能,在基本的web网站开发中,基本的请求就是:1.在servlet中获取数据;2.根据业务完成逻辑操作;3.跳转页面;对于这些同一个套路的东西,其底层代码相同,所以直接使用了相同的代码,就创建了这个框架,便于简化开发,直接使用接口就完毕,省时间。

转载于:https://www.cnblogs.com/yidiandianwy/p/11586646.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值