当前位置:网站首页>IDEA手动编写Servlet详解
IDEA手动编写Servlet详解
2022-07-20 10:31:00 【肖广彪】
一、创建web应用
1、选择web application应用,之后填写项目名称。
2、在WEB-INF目录下创建两个文件夹:classes和lib,其中classes是Servlet类和其他JAVA类必须存放的位置,类以下的目录反映了类包的结构。lib是Servlet应用程序所需JAR文件要在这里部署。但是Servlet API的JAR文件不需要在这里部署,容器中已经有了它的备份。
3、选择菜单File —> Project Structure… —>选择modules ---->path选项 将class文件的输出改为之前创建的classes目录
4、还是在modules菜单下,选择Dependencies 选项卡 —> 点击右侧的 “+”号,选择“JARs or directories…”,选择创建的lib目录
二、编写servlet
方法一:Servlet3.0后注解配置Servlet
需要在Servlet中导入 import javax.servlet.annotation.WebServlet;
然后使用@WebServlet("/my")
就可以直接配置了,然后通过所输入的URL可以直接访问到。
import javax.servlet.*;
import javax.servlet.annotation.WebServlet;
import java.io.IOException;
import java.io.PrintWriter;
@WebServlet(name = "MyServlet",urlPatterns = {
"/my"})
public class MyServlet implements Servlet{
private transient ServletConfig servletConfig;
@Override
public void init(ServletConfig servletConfig) throws ServletException {
this.servletConfig = servletConfig;
}
@Override
public ServletConfig getServletConfig() {
return servletConfig;
}
@Override
public void service(ServletRequest request, ServletResponse response) throws ServletException, IOException {
String servletName = servletConfig.getServletName();
//网页响应类型,浏览器将其渲染为HTML格式
response.setContentType("text/html");
PrintWriter writer = response.getWriter();
writer.println("<html><head></head>" + "<body> Hello from " + servletName + "</body></html>");
}
@Override
public String getServletInfo() {
return "My Servlet";
}
@Override
public void destroy() {
}
}
方法二:web.xml配置Servlet
//web.xml里配置
<servlet>
<servlet-name>MyServlet</servlet-name>
<servlet-class>MyServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>MyServlet</servlet-name>
<url-pattern>/my</url-pattern>
</servlet-mapping>
//MyServlet里配置
import javax.servlet.*;
import java.io.IOException;
import java.io.PrintWriter;
public class MyServlet implements Servlet{
private transient ServletConfig servletConfig;
@Override
public void init(ServletConfig servletConfig) throws ServletException {
this.servletConfig = servletConfig;
}
@Override
public ServletConfig getServletConfig() {
return servletConfig;
}
@Override
public void service(ServletRequest request, ServletResponse response) throws ServletException, IOException {
String servletName = servletConfig.getServletName();
//网页响应类型,浏览器将其渲染为HTML格式
response.setContentType("text/html");
PrintWriter writer = response.getWriter();
writer.println("<html><head></head>" + "<body> Hello from " + servletName + "</body></html>");
}
@Override
public String getServletInfo() {
return "My Servlet";
}
@Override
public void destroy() {
}
}
三、发布tomcat
访问:
http://localhost:8080/servlet/
这样访问的路径是WEB-INF下的index.jsp文件
http://localhost:8080/servlet/my
这样访问的路径才能访问对应的servlet对象
最后
如有帮助,点赞关注!
边栏推荐
- Jenkins pipeline downloads the code to the specified workspace
- [the problem has been solved] - Jenkins login exsi host without secret
- I/o reuse: select poll epoll
- 【系统设计】分布式键值数据库
- Win10 boot PS1 script
- I/O复用 :select poll epoll
- What are the types of personal financial products in 2022?
- 第一章第十节:条件判断 if
- R语言使用逻辑回归Logistic、单因素方差分析anova、异常点分析和可视化分类iris鸢尾花数据集
- C语言整数类型
猜你喜欢
[u-boot] main line analysis of u-boot operation [02] - board_ init_ f
Leetcode simple problem strong password checker II
笔记。。。。
R语言使用逻辑回归Logistic、单因素方差分析anova、异常点分析和可视化分类iris鸢尾花数据集
WPS2019 所有宏被禁,用启用宏要付费,如何免费使用
mysql进阶(十三)命令行导出导入数据库
《ASP.NET Core 6框架揭秘》实例演示[02]:基于路由、MVC和gRPC的应用开发
被大厂强制毕业,两个月空窗期死背八股文,幸好上岸,不然房贷都还不上了
[问题已处理]-jenkins传统打包交付流程优化
第一章 第六节:变量
随机推荐
LeetCode简单题之滑动窗口的平均值
【二叉树】删除给定值的叶子节点
第一章 第四节:Pycharm的安装
Configure static routing and rip routing protocols
NIO基础之三大组件
Wireless channel measurement and modeling of 10 GHz indoor wireless body area network
[the problem has been solved] - Jenkins login exsi host without secret
Wps2019 all macros are forbidden. You have to pay for enabling macros. How to use them for free
GBase 8s创建和使用SPL的时候,如何进行异常处理?
知识点滴 - 有关剧本的网站
Section 7 of Chapter 1: constants
智能隐形眼镜的研究进展与挑战
第一章第七节:常量
Human body recognition system based on active learning and Wi Fi perception
“问天号”已就位!喻京川2013年畅想的《中国空间站》,即将启航星辰大海!...
第二章 第一节:基础数据类型详解
工控安全PLC固件逆向三
Section 8 of Chapter 1: simple understanding of data types
Le point d'interrogation est en place! Yu Jingchuan 2013 Best think "China Space Station", stars of the Sea to navigate!...
I/o multiplexing function high performance framework library: libevent