servlet在tomcat下工作原理和小例子

本文详细解析Web项目的目录结构,介绍Web.xml文件及其配置,并指导如何为Tomcat设置JAVA_HOME,以及演示Servlet的基本使用,包括页面代码和响应处理。


一个完整的web项目目录结构:在服务器端建立以下标准路径 WEB-INF,WEB-INF下为lib,classes文件夹和一个web.xml的配置文件。

Web.xml文件中的代码及其含义:

<?xml version="1.0" encoding="ISO-8859-1"?> <web-app 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_3_0.xsd" version="3.0" metadata-complete="true"> <servlet> <servlet-name>MyServlet</servlet-name> <servlet-class>LoginServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>MyServlet</servlet-name> <url-pattern>/loginServlet</url-pattern> </servlet-mapping> </web-app>

Name可以随便起,servlet-class写的是类名,即servlet-class的完整路径(配置此处时是默认到classes文件夹下去找)。在配置servlet-mapping时servlet-name和上面配置的名称一样,url-pattern为从工程的根目录开始(即WEB-INF文件夹的目录)。

单独为tomcat修改JAVA_HOME,编辑tomcat bin目录下的startup文件,在开始处加入一句“setJAVA_HOME=C:\Program Files\Java\jdk1.7.0”。

页面代码:

<html> <head> <title>login</title> </head> <body> <form action="http://127.0.0.1:8080/test-servlet/loginServlet" method="get"> 用户:<input type="text" name="username"><br> 密码:<input type="password" name="password"><br> <input type="submit" value="登录"> </form> </body> </html>

注意此处的http://127.0.0.1:8080/test-servlet/loginServlet是连接的配置文件web.xml中的url-pattern。


Servlet中代码:

import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class LoginServlet extends HttpServlet{ public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{ String username = request.getParameter("username"); String password = request.getParameter("password"); System.out.println("username=" + username); System.out.println("password=" + password); response.setContentType("text/html"); response.getWriter().println("Login Success!!"); }

因为引入了servlet相关的包,所以要在classpath中配置一下,把servlet-api的路径加到classpath中,如果返回页面的为中文,要设置一下内容格式为GBK格式。设置代码为response.setContentType("text/html;charset=GBK");

几种编码的含义:

GB2312:只支持简体中文

GBK:支持简体和繁体中文

GB18030:支持的更多。

三者为包含关系







评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值