您的位置:首页 > 其它

第一个servlet程序

2015-06-28 23:21 274 查看
工程下面,src放置的是源文件

web-inf名字不能变,是固定的

下面的classes下面是文件编译好的文件,编译好的class文件都放在这里

web.xml(部署描述符)所有的配置都是在这个文件里面

lib如果使用第三方的库,必须将jar包放在这里

< Context path=”/test” docBase=”F:\MY ECLIPSE\test\WebRoot” reloadable=”true” />

这段代码的含义

path表示上下文的地址,localhost:8080/后面所跟的名字就是自己设置的path的值,这是一个逻辑路径。 docBase=”F:\MY ECLIPSE\test\WebRoot” 表示的是该工程在硬盘中的位置,这是一个物理路径。是将path映射到 docBase上,服务器就可以通过path找到在硬盘中的路径。reloadable=”true”当我们修改了文件时,必须重启服务器,设置reloadable=”true”可以使服务器自动查询是否更新,并重新加载

如何将tomcat集成在my eclipse中

Windows→perference→services→tomcat













将项目部署在tomcat中







第二个是将工程打包,可以拷贝到其他的服务器下

修改之后需要重新启动服务器

用servlet写一个helloWord

新建一个包,再新建一个类

package firstservlet;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class HelloWorld extends HttpServlet{

@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
// TODO Auto-generated method stub
resp.setContentType("text/html");
PrintWriter out=resp.getWriter();
out.println("<html><head><title>HelloWorld</title></head>");
out.println("<body><h1>HELLOWORLD</h1></body></html>");
out.flush();
}
}
配置xml文件
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> <display-name></display-name>
<servlet>
<servlet-name>helloworld</servlet-name>
<servlet-class>firstservlet.HelloWorld</servlet-class>
</servlet>

<servlet-mapping>
<servlet-name>helloworld</servlet-name>
<url-pattern>/helloworld</url-pattern>
</servlet-mapping>
</web-app>

配置好之后重启服务器→部署
然后在浏览器中输入localhost:8080/test/helloword

最核心的是写该代码
<servlet>
<servlet-name>helloworld</servlet-name>
<servlet-class>firstservlet.HelloWorld</servlet-class>
</servlet>

<servlet-mapping>
<servlet-name>helloworld</servlet-name>
<url-pattern>/helloworld</url-pattern>
</servlet-mapping>


该代码的含义是localhost:8080/test/helloworld,在端口后面是工程的名字,然后后面是名字叫helloworld的资源,将该名字和< url-pattern>/helloworld< /url-pattern>匹配,找到该资源之后,找到上面的名字,是 < servlet-name>helloworld< /servlet-name>然后根据这里面的名字helloword再寻找servlet中servlet-name为helloworld

在后面加上当前时间

out.println("<body><h1>HELLOWORLD"+new Date().toLocaleString()+ "</h1></body></html>");


用jsp写相同的效果

<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.ge
4000
tServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">

<title>My JSP 'HelloWorld.jsp' starting page</title>

<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->

</head>

<body>
<h1>Hello World:<%=new java.util.Date().toLocaleString() %></h1>
</body>
</html>


jsp改完之后就直接可以在浏览器中显示,不需要重启服务器。

我们可以看出servlet看做是嵌套了一定量html的java类 jsp本质是一个html文件,在其中嵌入java代码。也就是嵌套了一定量java代码的html文件

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  servlet