Struts1.x 环境搭建和技术准备(上)
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 环境搭建和技术准备(上)的更多相关文章
- 神经网络环境搭建,windows上安装theano和keras的流程
今天碰到有朋友问道怎么在windows下安装keras,正好我刚完成搭建,总结下过程,也算是一个教程吧,给有需要的朋友. 步骤一:安装python. 这一步没啥好说的,下载相应的python安装即可, ...
- 新公司,环境搭建,windows上的坑
1 在windows上安装nodejs环境,node -v 后可以看到版本号 2 在windows上安装nvm管理node的版本,可以对node版本自由切换,使用5.3.0版本的node 3 在win ...
- 初学 React native | 环境搭建(在模拟器上运行)
我的电脑是windows 所以就以 windows上+Android 配置React native 环境 网上的安装教程非常多,我总结了一下,配置环境时出错原因主要是node java python ...
- python环境搭建-在Windows上安装python3.5.2
在Windows上安装Python3.5.2 首先,根据你的Windows版本(64位还是32位)从Python的官方网站下载Python 3.5.2对应的64位安装程序或32位安装程序(网速慢的同学 ...
- socket.io,环境搭建 & Hello world
原文:http://www.cnblogs.com/xiezhengcai/p/3955827.html socket.io 一个与服务器实时通信的工具,它与原生的webSocket相比,具有更可靠. ...
- 第一章 andriod studio 安装与环境搭建
原文 http://blog.csdn.net/zhanghefu/article/details/9286123 第一章 andriod studio 安装与环境搭建 一.Android Stu ...
- android studio 安装与环境搭建
转摘自:http://blog.csdn.net/zhanghefu/article/details/9286123 第一章 andriod studio 安装与环境搭建 一.Android St ...
- NDK开发环境搭建_r8
本文主内容: 1. Android NDK 安装 2. 安装Cygwin与使用NDK编译 3. 在Eclipse中集成C/C++开发环境CDT 4. 安装Sequoyah插件 5. JNI编 ...
- 基于Ubuntu的ORB-SLAM2项目环境搭建过程
目录 关于ORB-SLAM2 环境搭建 已有环境 创建环境 新建项目目录 安装Pangolin 安装OpenCV 3.2 安装Eigen DBoW2 and g2o (Included in Thir ...
随机推荐
- 各个浏览器开启CSS Grid Layout的方式
2017年3月,Chrome.Firefox将开启默认支持. 当然对于很多人等不及浏览器默认支持,想提前体验一把,这里提供一些打开方式: 1.Chrome 在浏览器中输入:chrome://flags ...
- java Runtime类
public class Test { public static void main(String[] args) throws UnsupportedEncodingException { Run ...
- Myeclipse8.5 反编译插件 jad 安装(转)
准备工作 下载jad.exe文件:http://www.varaneckas.com/sites/default/files/jad/jad158g.win.zip 下载jadeclipse插件:ht ...
- iOS开发中@property的属性weak nonatomic strong readonly等介绍
@property与@synthesize是成对出现的,可以自动生成某个类成员变量的存取方法.在Xcode4.5以及以后的版本,@synthesize可以省略. 1.atomic与nonatomica ...
- 各类编译器 allocator 底层
我们在c++中创建数组通常使用new来分配我们需要的内存大小,之后通过delete进行释放内存 但是我们调用new的时候,通过调用的是operator new,二operator new调用的是mal ...
- matlab中hold指令、figure指令及subplot指令的使用
一.hold指令使用 正常情况下,plot指令显示figure时,以前的数据丢失了.使用hold on指令后,此后添加的一系列plot曲线将叠加在前一个图上当使用hold off后,恢复为默认状况,p ...
- matlab图像显示程序模板
在这个程序中:优秀的模板值得学习,变量的定义字典值得学习 .^ .* ./的使用: 图形的显示及标注 % 脚本文件: 功率计算 % 文件名:cac_power.m % 目标:随着电阻值的 ...
- APP中的 H5和原生页面如何分辨、何时使用
一.APP内嵌H5和原生的区别 1.原生的页面运行速度快,比较流畅. H5页面相对原生的运行性能低,特别是一些动画效果有明显卡顿. 2.H5页面的很多交互都没有原生的好,比如弹层.输入时候的页面滑动 ...
- Mybatis实战之TypeHandler高级进阶
上篇文章分享了在项目实战中自定义Mybatis的TypeHandler来处理枚举类型.文章结尾也指出了美中不足之处,那就是每次都需要指定我们自定义的枚举TypeHandler. 随着项目枚举类型的增多 ...
- List<bean>转换Jsonarray知识心得
使用基本的jdbc连接mysql,获取数据. 创建实体类user: package com.json; public class user { private int id; private Stri ...