JavaWeb基础(六)在第一次手写servlet的前前后后我都干了什么

1、请检查你的电脑是否已经安装了jdk,使用win+R打开你的cmd,分别输入java和javac回车查看,未安装先安装。

2、在环境变量【此电脑-属性-高级系统设置-环境变量-系统属性】中新建JAVA_HOME并复制path中java的安装路径【如:C:\Program Files\Java\jdk1.8.0_101\bin】要去掉bin【如:C:\Program Files\Java\jdk1.8.0_101】

3、下载tomcat压缩包【版本不要低于jdk版本】解压,在解压后的bin文件夹里面找到startup.bat【不显示后缀,两个同名不同类型类型看属性,windows批处理文件即是】双击,然后出现tomcat窗口,将会在最后打印【start Server startup in xxxx ms】,此时请打开浏览器输入http://localhost:8080或者127.0.0.1:8080将看到tomcat默认页面,安装成功。

4、tomcat解压以后文件夹有七个,主要六个其中bin里面包含所有可执行命令,比如启动和关闭;conf是配置文件夹,保存了各个配置信息,比如servlet.xml【修改端口号,配置虚拟目录等,修改完请重启服务器】和web.xml;lib里面有服务器运行需要的各个jar包,比如servlet-api;log是日志;webapps是项目存放的目录,了解项目结构可以查看里面的root文件夹怎么放置的;work则是临时文件夹,如果修改项目时没有起作用,建议关闭服务器,清空work再启动。

5、代码准备:

使用记事本编写一个.html文件【index.html】,再新建编写一个servlet文件【MyServlet.java】,最后新建编写一个jsp文件【forServlet.jsp】

<!--index.html-->
<!doctype html>
<html>
 <head>
  <meta charset="UTF-8">
  <meta name="Author" content="lp">
  <title>html</title>
 </head>
 <body>
  <form action="/fs" method="post">
     <input type="text" name="uname"/>
     <input type="submit" value="提交"/>
  </form>
 </body>
</html>
​
//MyServlet.java
package me.servlet ;//写了包请自己创建文件夹目录
import java.io.* ;
import javax.servlet.* ;
import javax.servlet.http.* ;
class MyServlet extends HttpServlet
{
	private ServletConfig config = null ;
    public void init(ServletConfig config) throws ServletException 
	{
		this.config = config ;
	}

	// 表示处理get请求
	public void doGet(HttpServletRequest req,HttpServletResponse resp) throws IOException,ServletException
	{
		System.out.println("** Servlet doGet处理提交参数 ...") ;
		req.getRequestDispatcher("forServlet.jsp").forward(req,resp);
	}

	// 处理post请求
	public void doPost(HttpServletRequest req,HttpServletResponse resp) throws IOException,ServletException
	{
		//
		String name = req.getParameter("uname") ;
		// 取得一个session对象,写入一个session值
		HttpSession session = req.getSession() ;
		session.setAttribute("sname",name) ;
		ServletContext app=req.getSession().getServletContext();
		app.setAttribute("xxx","xxxxxxxx") ;
		System.out.println("** Servlet doPost处理提交参数 ...") ;
		System.out.println("name = "+name) ;
		// 重定向
		 resp.sendRedirect("forServlet.jsp") ;
	}
}

​
<!--forServlet.jsp-->
<h1><%=session.getAttribute("sname")%></h1>

<h1><%=getServletContext().getAttribute("xxx")%></h1>
<h1><%=application.getAttribute("xxx")%></h1>

 6、这三个文件写好后,开始创建一个项目文件夹test,文件夹结构【使用电脑浏览器打开查看,一行为一级目录,手机结构就乱了】:

                                                       test

index.html               forServlet.jsp                 me                              WEB-INF

                                                                        servlet                         classes                  lib                  web.xml【root里复制,添加servlet映射

                                                                         MyServlet.java           me

                                                                                                             serlvet

                                                                                                              MyServlet.class

                                                                                                           【这个字节码文件得到方式-----在cmd里面输入命令: Myservlet.java所在的文件夹路径>javac -cp  servlet-api.jar的路径\servlet-api.jar  Myservlet.java  以后可以得到,复制到classes里即可,务必引用这个servlet-api,可以使用以上命令方式调用jar包也可以放到jdk安装目录jre下的lib下的ext下,否则servlet-api找不到会报错】

7、不添加虚拟目录直接运行就直接粘贴在webapps里面,然后打开tomcat服务器,打开浏览器输入http://localhost:8080/test

8、成功运行

9、注意几点:如果.java文件里面带包就自己创建好写了包名的目录文件夹把.java文件放进去;一定要创建WEB-INF文件夹,里面的web.xml包含servlet映射;在WEB-INF文件夹下的classes放置你已经javac后的.java文件,记住!有包就带包一起放;映射写法:

...
<!--两个name要一致-->
 <servlet>
    <servlet-name>form</servlet-name>
    <servlet-class>me.servlet.MyServlet</servlet-class><!--包名类名-->
    <load-on-startup>0</load-on-startup>
  </servlet>
  <servlet-mapping>
    <servlet-name>form</servlet-name>
    <url-pattern>/fs</url-pattern><!--浏览器中显示、form里action的这个servlet的别名-->
  </servlet-mapping>
</web-app>

10、配置虚拟目录,在tomcat下的conf下的servlet.xml里面的host标签结束前添加:<Context  path=“浏览器输入的虚拟路径” docBase="项目文件夹的真实路径" />

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值