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. [nRF51822] 16、nRF51822的随机数生成器,及随机数生成器的一些知识(可以帮您补补随机数发生器的知识)

    1.前言 随机数生成器在通信.加密.图像传输等领域应用广泛,且一般起到关键性作用.我在最近设计的一个近场射频通信协议的碰撞避退算法的过程中,便对此有深深体会. 2.伪随机数发生器 随机数发生器一般包括 ...

  2. OC基础了解篇

    .h文件存放声明 .m文件存放实现(支持c语言和OC的混编) .mm文件存放实现 (支持OC就和C++的混编) 异常处理,很少被用到/** *#import功能与#include功能一样就是包含文件 ...

  3. u3d脚本生命周期

  4. Java性能优化_转载

    一.避免在循环条件中使用复杂表达式 1.在不做编译优化的情况下,在循环中,循环条件会被反复计算,如果不使用复杂表达式,而使循环条件值不变的话,程序将会运行的更快. 2.不可使用多层循嵌套. 二.集合大 ...

  5. for语句输出图形

    一.输出以下图形 ******************************** 用for...for...嵌套循环,内循环控制每一行的个数(即列数),外循环控制行数 class ForDraw { ...

  6. 【canvas系列】用canvas实现一个colorpicker

    每个浏览器都有自己的特点,比如今天要做的colorpicker就是,一千个浏览器,一千个哈姆雷特,一千个colorpicker.今天canvas系列就用canvas做一个colorpicker. ** ...

  7. headfirst设计模式(2)—观察者模式

    定义 观察者模式(有时又被称为发布(publish)-订阅(Subscribe)模式,在此种模式中,一个目标物件管理所有相依于它的观察者物件,并且在它本身的状态改变时主动发出通知.这通常透过呼叫各观察 ...

  8. Oracle instant client在windows下的安装和使用

    安装 * 从oracle官方网站下载instant client文件,一般来说,有basic.sqlplus.odbc.jdbc,就足够用的了: instantclient-basic-win32-1 ...

  9. BZOJ 4085:[Sdoi2015]quality(round 2 音质检测)(数据结构)

    居然在考场上把这道题打出来了觉得自己也是有点吊啊(虽然后面就没时间做其他题了囧而且还被卡常数了...) 题解自己写了一份TEX的就直接放上来吧.... 好啦,在谈点什么别的 什么?你在bz上TLE了? ...

  10. click延时300ms的故事

    这要追溯至 2007 年初.苹果公司在发布首款 iPhone 前夕,遇到一个问题:当时的网站都是为大屏幕设备所设计的.于是苹果的工程师们做了一些约定,应对 iPhone 这种小屏幕浏览桌面端站点的问题 ...