Java(十三)Java web:简单运行一个servlet


一、创建一个servlet

  1. 直接点击项目右键,new→Servlet
    在这里插入图片描述
  2. 填写包和类名,到这里就直接可以Finish。
    在这里插入图片描述
    在这里插入图片描述
  3. 可以更改对应的url
    在这里插入图片描述
  4. 可以选择需要的方法,一般就用doGet()doPost()就好了。
    在这里插入图片描述

二、修改url

1.Servelet的新属性

由于我们使用的是3.1的javax.servlet-api-3.1.0.jarTomcat9.0,而Servlet3.0(得Tomcat7.0版本及以上)添加了一个新的属性,就是@WebServlet(),有了这个我们就不用在web.xml中手动写<servlet><servlet-mapping>

在这里插入图片描述

<!-- 不用在web.xml中写了 -->
<servlet>
    <!-- 用在servlet-mapping中的名字,一般同类名 -->
	<servlet-name>BookServlet</servlet-name>
	<!-- 找到位置:通过servlet的全名(包名+类名),比如包名是package servlet;,类名是BookServelt-->
	<servlet-class>servlet.BookServlet</servlet-class>
</servlet>
<servlet-mapping>
    <!-- 上面的servlet-name -->
	<servlet-name>BookServlet</servlet-name>
	<!-- url地址 -->
	<url-pattern>/Book</url-pattern>
</servlet-mapping>

2.@WebServlet()

在这里插入图片描述
比较完整的:

@WebServlet(name = "BookAddServlet", // servlet名称
		displayName = "This is Add Action", // 描述
		urlPatterns = { "/servlet/BookServlet" }, // url
		loadOnStartup = 1, // 启动项
		initParams = { @WebInitParam(name = "username", value = "张三") }// 初始化参数
)

多个url:

@WebServlet(name = "BookAddServlet", 
		urlPatterns = { "/AddAction", "/AddAction2" }
)

必要指定url:这里的url指定时前面有个/

@WebServlet("/AddAction")

3.启动servlet

(1)直接启动

右键点BookAddServlet.java,然后Run as→Run on Server
在这里插入图片描述
在这里插入图片描述

(2)在jsp中调用

注意, <form action="AddAction">中不要加/

<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<form action="AddAction">
		<input type="submit" value="增加书籍">
	</form>
</body>
</html>

在这里插入图片描述
在这里插入图片描述

三、Servlet中输出

输出有两种方式,不能同时写,会出问题
在这里插入图片描述

	protected void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		// TODO Auto-generated method stub
		/* 解决乱码 */
		request.setCharacterEncoding("utf-8");
		response.setCharacterEncoding("utf-8");
		
		// 方式1:getOutputStream()
		response.getOutputStream().print("hh");
		
		// 方式2:getWriter()
//		PrintWriter out = response.getWriter();
//		out.println("hello");
		
	}

四、关于Javaweb中servlet配置打开网页显示404无法找到的原因和解决方法

关于Javaweb中servlet配置打开网页显示404无法找到的原因和解决方法

除了上面的,我还出现过这种错误:

写错地方了,写成resources中,我就说为什么包的图标就不一样呀,下面是正确的地方。
在这里插入图片描述

发布了486 篇原创文章 · 获赞 204 · 访问量 13万+

猜你喜欢

转载自blog.csdn.net/sandalphon4869/article/details/105318802