Struts 1.x 基于 Servlet,Struts 2.x基于Filter

1、servlet的注解配置方式和web.xml配置方式

使用servelt 3.0,eclipse在创建seb项目是,默认情况是不会自动创建web.xml文件的, 在servlet 3.0版本中,此配置文件不是必须的,servelt、filter等可以直接在.java文件中直接进行注解配置!

注意:在eclispe中,勾选了servelt 3.0后,不会自动勾选生成web.xml文件,我们需要自己勾上,才会在项目中生成web.xml。

为servlet配置初始化参数

为jsp配置初始化参数

2、Struts1.x环境搭建 (1) 复制Jar包 (2)修改web.xml文件 (3)添加添加struts-config.xml文件。

配置方式可以参照

http://miaoxianjie.iteye.com/blog/1150236

也可以从下载的例子程序中复制,目录就是 struts-1.3.10\apps 下,里面有原始的例子程序,第一个 struts-blank-1.3.10.war 的配置就行了。

下面是一些截图:

随后Myservlet自动生成的代码:

 package javastudy;

 import java.io.IOException;
 import java.io.PrintWriter;
 import java.util.Enumeration;

 import javax.servlet.ServletException;
 import javax.servlet.annotation.WebInitParam;
 import javax.servlet.annotation.WebServlet;
 import javax.servlet.http.HttpServlet;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;

 @WebServlet(
         description = "This is servlet",
         urlPatterns = { "/myurl" },
         initParams = {
                 @WebInitParam(name = "pageSize", value = "15",description="这是页面行数"),
                 @WebInitParam(name = "author", value = "Shawn.Yang",description="这是免贵")
         })

 public class MyServelt extends HttpServlet {
     private static final long serialVersionUID = 1L;

     public MyServelt() {
         super();
     }

     protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
         PrintWriter out = response.getWriter();
         out.write("Hello World!");
         Enumeration<String> params = this.getInitParameterNames();//获取所有初始化参数的键
         //遍历
         while(params.hasMoreElements()){
             String paramName = params.nextElement();//初始化参数名
             String paramValue = this.getInitParameter(paramName);//获取初始化参数的方法
             System.out.println(paramName + "=" + paramValue);
         }
     }

     protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
         doGet(request, response);
     }

 }

使用注解的话,就不需要在web.xml中配置servlet了。

或者不用注解,在web.xml文件中配置:

 <servlet>
         <servlet-name>MyUrl</servlet-name>
         <servlet-class>javastudy.MyServelt</servlet-class>
         <init-param>
             <param-name>pageSize</param-name>
             <param-value>25</param-value>
         </init-param>
     </servlet>

     <servlet-mapping>
         <servlet-name>MyUrl</servlet-name>
         <url-pattern>/myurl</url-pattern>
     </servlet-mapping>

都一样,随便用一种。

Struts1.x 环境搭建和技术准备(上)的更多相关文章

  1. 神经网络环境搭建,windows上安装theano和keras的流程

    今天碰到有朋友问道怎么在windows下安装keras,正好我刚完成搭建,总结下过程,也算是一个教程吧,给有需要的朋友. 步骤一:安装python. 这一步没啥好说的,下载相应的python安装即可, ...

  2. 新公司,环境搭建,windows上的坑

    1 在windows上安装nodejs环境,node -v 后可以看到版本号 2 在windows上安装nvm管理node的版本,可以对node版本自由切换,使用5.3.0版本的node 3 在win ...

  3. 初学 React native | 环境搭建(在模拟器上运行)

    我的电脑是windows 所以就以 windows上+Android 配置React native 环境 网上的安装教程非常多,我总结了一下,配置环境时出错原因主要是node java python ...

  4. python环境搭建-在Windows上安装python3.5.2

    在Windows上安装Python3.5.2 首先,根据你的Windows版本(64位还是32位)从Python的官方网站下载Python 3.5.2对应的64位安装程序或32位安装程序(网速慢的同学 ...

  5. socket.io,环境搭建 & Hello world

    原文:http://www.cnblogs.com/xiezhengcai/p/3955827.html socket.io 一个与服务器实时通信的工具,它与原生的webSocket相比,具有更可靠. ...

  6. 第一章 andriod studio 安装与环境搭建

    原文 http://blog.csdn.net/zhanghefu/article/details/9286123 第一章   andriod studio 安装与环境搭建 一.Android Stu ...

  7. android studio 安装与环境搭建

    转摘自:http://blog.csdn.net/zhanghefu/article/details/9286123 第一章   andriod studio 安装与环境搭建 一.Android St ...

  8. NDK开发环境搭建_r8

    本文主内容: 1.  Android NDK 安装 2.  安装Cygwin与使用NDK编译 3.  在Eclipse中集成C/C++开发环境CDT 4.  安装Sequoyah插件 5.  JNI编 ...

  9. 基于Ubuntu的ORB-SLAM2项目环境搭建过程

    目录 关于ORB-SLAM2 环境搭建 已有环境 创建环境 新建项目目录 安装Pangolin 安装OpenCV 3.2 安装Eigen DBoW2 and g2o (Included in Thir ...

随机推荐

  1. 老司机教你下载tumblr上视频和图片的正确姿势

    本文面向初学者. 很多同学问我:“我非常想学Python编程,但是找不到兴趣点”. 还有的同学呢,找到了很好的兴趣点,但是无从下手,“玄魂老师,我想下载tumblr上的视频, 怎么下载,Python能 ...

  2. VisualGDB Makefiles

    以下内容是VisualGDB官网对VisualGDB编译时获取相关编译信息的说明: When you create a new project using VisualGDB, it will gen ...

  3. HTML5行业现状与未来 - 2016年终大盘点

    * { margin: 0; padding: 0 } .con { width: 802px; margin: 0 auto; text-align: center; position: inher ...

  4. 【译】延迟加载JavaScript

    [译]延迟加载JavaScript 看到一个微信面试题引发的血案 --[译] 什么阻塞了 DOM?中提到的一篇文章,于是决定看下其博客内容,同时翻译下来留作笔记,因英文有限,如有不足之处,欢迎指出.同 ...

  5. LoadRunner面试题

    在LoadRunner中为什么要设置思考时间和pacing 答: 录制时记录的是客户端和服务端的交互,如果要精确模拟 用户的行为,那么客户操作客户端时花费了很多时间要怎么模拟呢?录入 填写提交的内容, ...

  6. spring-dwr注解整合

    注解配置 1.web.xml 只需将DwrServlet换为DwrSpringServlet(包名不同) 2.dwr类 3.applicationContext.xml 4.annotationCon ...

  7. js立即执行函数: (function ( ){...})( ) 与 (function ( ){...}( ))

    ( function(){…} )() ( function (){…} () ) 是两种javascript立即执行函数的常见写法,最初我以为是一个括号包裹匿名函数,再在后面加个括号调用函数,最后达 ...

  8. php数组排序

    sort() - 以升序对数组排序rsort() - 以降序对数组排序asort() - 根据值,以升序对关联数组进行排序ksort() - 根据键,以升序对关联数组进行排序arsort() - 根据 ...

  9. css3 3d初入门(一)

    css3 3D.html div.oembedall-githubrepos { border: 1px solid #DDD; list-style-type: none; margin: 0 0 ...

  10. 用JS计算预计时间与现在时间的差

    1.我用的是bootstrap网格布局,首先要引入bootstrap类. (1)<script src="jquery-1.11.2.min.js"></scri ...