*怎么写一个servlet:
Servlet: 用来扩展web服务器功能的组件规范
1.导入jar包 2.继承HttpServlet类 3.重写service方法 需要两个参数:HttpServletRequest request,HttpServletResponse response 服务器会自动初始化 4.idea配置tomcat 5.配置web.xml 实际上是哪个请求来了访问哪个servlet 6.检查错误 看jar包是否添加成功 7.启动tomcat 看控制台是否有错误
创建一个WEB项目
一。
1.首先,打开idea new-->Project
2.选择Maven 项目 点击下一步
3.填写groupid 和 Artifactid
4.点击下一步 选择一个路径,这个路径是存放你项目的路径
5.完了之后,用一个新窗口打开:
6.然后将mav项目,转成web项目
右键项目Add Framework Support
7.添加Web Application 支持
8.点击ok 后,项目就变为了web项目,看如下目录:
9.然后基本的项目已经起来了,然后就是写代码了,
二。
课上案例
http://localhost:8080/someServlet/hello http:网络WEB请求协议 localhost 要访问是 整个WEB网络中的 本机(ip地址) 8080: 要访问电脑上的那个程序需要通过端口号来找到(tomcat默认端口号是8080) someServlet 通过项目名(应用名) 找到要访问的项目 hello通过hello(访问 someServlet整个项目当中的具体的哪个类)
1.在src-->main-->java 下新建一个包 com.demo.servlet 然后在此包下新建一个 HttpServlet 类
2.然后在此类下书写代码,首先HttpServlet 类要继承HttpServlet ,但是我在写这个继承的时候没有给我提示,如下所示:
只要是因为这个工程还没有添加 对servlet的支持,下面在pom文件中添加对 servlet的支持
<dependencies> <!--引入servlet--> <dependency> <groupId>Javax.servlet</groupId> <artifactId>servlet-api</artifactId> <version>3.0-alpha-1</version> </dependency> </dependencies>
pom文件如下:
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.demo</groupId> <artifactId>hellodemo02</artifactId> <version>1.0-SNAPSHOT</version> <dependencies> <!--引入servlet--> <dependency> <groupId>Javax.servlet</groupId> <artifactId>servlet-api</artifactId> <version>3.0-alpha-1</version> </dependency> </dependencies> </project>
3.此时再继承HttpServlet 就有这个提示了:
4.继承HttpServlet之后,需要重写doGet方法,在idea中 使用快捷键 Ctrl+O 选择重写的方法
写完之后下面是HelloServlet的代码
package com.demo.servlet; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.io.PrintWriter; public class HelloServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { PrintWriter out = response.getWriter(); try { request.setCharacterEncoding("UTF-8"); response.setContentType("text/html; charset=utf-8");
response.setCharacterEncoding("UTF-8"); String userId = request.getParameter("userId"); String pwd = request.getParameter("pwd"); if("admin".equals(userId) && "password".equals(pwd)){ out.println("success"); }else{ out.println("fail"); } out.println("<br/>"); String servletPath = this.getServletContext().getRealPath("/"); out.println(servletPath); out.close(); } catch (Exception e) { // TODO: handle exception } } }
5.写完HelloServlet之后还不行,我们还没有在web.xml中进行配置
下面是web.xml中的内容
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" version="4.0"> <display-name>hellodemo</display-name> <servlet> <servlet-name>HelloServlet</servlet-name> <servlet-class>com.demo.servlet.HelloServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>HelloServlet</servlet-name> <url-pattern>/hello</url-pattern> </servlet-mapping> </web-app>
配置tomcat
1.打开idea,在项目运行列表下拉选择“edit Configurations”
2.在打开的界面,点击“+”,再选择下面的Tomcat Server下的local
3.在打开的界面,第一行“Name”中填入tomcat的名称
然后点击Configure...,在Application Servers界面,点击“+”,在Tomcat Server配置界面选择要添加的tomcat的路径,最后点击“OK”
选择配置好的tomcat,点击“OK”
4.再配置其它选项,最后点击“OK”即可,