Servlet程序开发-Helloworld
D:\Workspace\WEB-INF\classes下新建HelloServlet.java文件:
package org.lxh.servletdemo ;
import java.io.* ;
import javax.servlet.* ;
import javax.servlet.http.* ; public class HelloServlet extends HttpServlet {
public void doGet(HttpServletRequest req,HttpServletResponse resp)
throws ServletException,IOException{
PrintWriter out = resp.getWriter() ;
out.println("<html>") ;
out.println("<head><title>MLDNJAVA</title></head>") ;
out.println("<body>") ;
out.println("<h1>HELLO WORLD</h1>") ;
out.println("</body>") ;
out.println("</html>") ;
out.close() ;
}
}
第一个servlet程序开发完成。
注意:javax.servlet.*是为了产生exception而导入的包。而且写在javax.servlet.http.*之前
成功的前提,:需要将D:\apache-tomcat-7.0.57\lib\servlet-api.jar放入 D:\Program Files\Java\jdk1.7.0_45\jre\lib\ext下。或者放入classpath下。
此时若想此文件被外部访问,还需要进行web.xml设置:
<servlet>
<servlet-name>hello</servlet-name>
<servlet-class>org.lxh.servletdemo.HelloServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>hello</servlet-name>
<url-pattern>/helloServlet</url-pattern>
</servlet-mapping>
重启服务器后,就可以通过http://localhost:8080/wly/helloServlet访问
可以发现,servelt不能作为输出页面使用,太不方便,而作为中间的控制逻辑层使用。
还可以为servlet配置多个名称,只需要配置多个servlet-mapping即可:
<servlet-mapping>
<servlet-name>hello</servlet-name>
<url-pattern>/hello.asp</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>hello</servlet-name>
<url-pattern>/hello.lxh</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>hello</servlet-name>
<url-pattern>/lxh/*</url-pattern>
</servlet-mapping>
这样的话,可以按照以下方式访问:
http://localhost:8080/wly/hello.asp
http://localhost:8080/wly/hello.lxh
http://localhost:8080/wly/lxh/djkfjdkfjdkfjdk
1. 掌握servlet开发及配置
2. servlet属于JAVA EE范畴,而java,javac属于JAVA SE范畴,如果想进行编译,必须配置JAVA EE开发包。
Servlet程序开发-Helloworld的更多相关文章
- Servlet程序开发--Servlet 与 表单
servlet程序: doPost方法时为了防止表单提交时post方式的问题.否则只能处理get请求 package org.lxh.servletdemo ; import java.io.* ; ...
- Servlet程序开发--Servlet简介
使用java语言开发的服务器端程序,可以生成动态web页,运行在服务器端,由服务器调用执行,是一种按照servlet标准开发的类. 先有servlet,后有jsp,jsp骨子里依然是servlet. ...
- Servlet程序开发-- 过滤器
3种servlet:简单Servlet,过滤Servlet,监听Servlet 1. 简单Servlet:是作为一种程序所必须的开发结构保存下来的. 2. 过滤Servlet:过滤器使用的不是Http ...
- Servlet程序开发--实例操作:MVC设计模式应用
以前做过一个登录程序,是用JSP+JavaBean完成的,最大的问题,JSP文件内容太多了. 1. VO 2. DBC 3. DAO 3.1 impl 3.2 proxy 4. Factory 5. ...
- Servlet程序开发--WEB开发模式(Mode I, Mode II)
Mode I: 就是在开发中,将显示层,控制层,数据层的操作统一交给JSP或JavaBean来进行处理. 客户端通过访问JSP,调用里面的JavaBean,而通过JavaBean调用数据库,在Java ...
- Servlet程序开发-- Servlet生命周期
生命周期是一个程序的存在周期,受容器管理,所以容器决定生命周期. 生命周期包括 加载,初始化,服务,销毁,卸载 5个部分 加载:第一次使用的时候加载 初始化:init方法, 失败的话,直接卸载,如果成 ...
- Servlet程序开发-- servlet跳转
跳转:服务器端,客户端 客户端跳转:<response.sendRedirect>地址栏跳转之后改变,无法传递request范围的属性 服务器端跳转:<jsp:forward> ...
- Servlet程序开发-- 取得其他内置对象
servlet本身提供的只有request和response对象,如果要取得session对象,只能依靠request对象,因为session属于HTTP协议范畴,而且在每次发送请求的时候,服务器都会 ...
- Servlet程序开发--取得初始化配置信息
代码: 两个初始化init方法,一起出现的话,有参的才起作用 package org.lxh.servletdemo ; import java.io.* ; import javax.servlet ...
随机推荐
- Gitlab 安装配置
Gitlab 很好的替代Github,可以安装到公司的内网服务器 进行管理 ,可以分布式的管理,集中的管理 下面介绍安装这个软件的步骤 其实安装很简单的 按照官网可以安装 https://about ...
- Android jni编辑.so库
引自:http://www.cnblogs.com/sevenyuan/p/4202759.html 1. 在Eclipse中创建项目:TestJNI 2. 新创建一个class:TestJNI.ja ...
- do循环的100米自由落体
#include "stdio.h" void main() { float h=100.0,sum=100.0; ; do { sum=sum+h; h=h/; g++; }); ...
- U盘启动安装Ubuntu
1.UltraISO制作USB启动盘 2.打开U盘目录下的\syslinux\syslinux.cfg, 将default vesamenu.c32注释为 # default vesamenu.c32
- 外部VBS的调用
一.QTP调用外部VBS的方法 加到QTP的Resource中 在QTP菜单中设置, 菜单FileàSettingsàResource,将要加载的VB脚本添加进来. 举例: 步骤1:在D盘下新建一个V ...
- 第十五节,基本数据类型,元组tuple
元组和列表的区别 元组和列表几乎是一样的 不一样的地方就是元组创建后元组的元素不可以修改,比如(添加,拓展,移除等修改功能,但是元组里的元素的元素是可以修改的) 基本操作: 索引 切片 循环 长度 包 ...
- Win7 Cygwin环境试验Nutch tutorial遇到的异常解决方法
安装tutorial的步骤安装Nutch,当执行下面这条命令时出现异常 bin/nutch crawl urls - -topN Injector: starting at -- :: Injecto ...
- git clone分支
有时git clone下来会出现很多branch,更麻烦的是如果主分支没代码那你就只能看到.git目录了.如下面的这个: $ git clonegit://gitorious.org/android- ...
- PCI源码学习笔记
这个是PCI的关键结构体. static const struct file_operations proc_bus_pci_operations = { .owner = THIS_MODULE, ...
- [转]c++ new带括号和不带括号
ref:http://m.blog.csdn.net/blog/u012745772/42420443 在new对象的时候有加上(),有不加(),不知道这个到底是什么区别?比如:CBase *base ...